如何选择功能名称?

Kth*_*rog 3 javascript naming function naming-conventions

我们正在讨论工作,因为我倾向于根据他们的工作来命名功能.

例如:

function notifyUserOfSomeThingThatHappened(){
    // notification code
}
Run Code Online (Sandbox Code Playgroud)

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

像这样的东西:

function someThingHappened(){
    // notification code
    // possible new code in the future
}
Run Code Online (Sandbox Code Playgroud)

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

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

function notifyUserThatSomeThingHappened(){
    // original code
}
Run Code Online (Sandbox Code Playgroud)

命名函数的最佳实践是什么?为什么要使用这些做法?一个优于另一个的优点是什么?

Fel*_*con 7

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

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

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

另外请记住,不同的语言确实有不同的名称约定,因此您应该始终检查命名的最佳方式functions以及variables您正在使用的语言.