javascript - 如何选择函数名?

标签 javascript function naming-conventions naming

<分区>

我们正在工作中进行讨论,因为我倾向于根据函数的作用来命名函数。

例如:

function notifyUserOfSomeThingThatHappened(){
    // notification code
}

我的同事认为(我有点同意)这个函数应该根据它被调用的原因来命名,而不是根据它的作用来命名,因为它的作用可能会改变。

像这样:

function someThingHappened(){
    // notification code
    // possible new code in the future
}

我同意这一点,但有一个问题:我认为我们应该根据实际内容来命名只会做一件事的函数,而根据调用原因来命名其他函数,如下所示:

function someThingHappened(){
    notifyUserThatSomeThingHappened();
    // possible new code in the future
}

function notifyUserThatSomeThingHappened(){
    // original code
}

命名函数的最佳做法是什么?为什么要使用这些做法?两者相比有什么优势?

最佳答案

一个简单的规则是:
如果函数改变程序的状态,则函数名称应该是动词;如果它们用于返回某个值,则应该是名词。

要记住的另一件事是一致性

如果您使用名称 getName,请保持一致,不要在其他地方写 retrieveName,因为这可能会使您的同事感到困惑。

另外请记住,不同的语言确实有不同的命名约定,因此您应该始终检查以您所用的语言命名函数变量 的最佳方式是什么正在与.

关于javascript - 如何选择函数名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34093165/

相关文章:

javascript - Canvas - lineTo (x, y) 不生成超过一行

dll - MSVC dll、静态库和导入库的正确命名约定是什么

function - 什么可以作为参数传递给 Lua 函数?

Java 接口(interface)/实现命名约定

vb.net - _下划线在VB.net中作为变量前缀的含义

javascript - chrome 中标点符号的 js 分词、全部使用出现问题

javascript - Ajax 无法在 WordPress 中运行

javascript - 在树中的特定位置创建 JSTree 节点

javascript - 如何将 javascript 对象连接到函数内动态创建的 html 元素

c - C 中的 typedef 和指向函数的指针