我们正在讨论工作,因为我倾向于根据他们的工作来命名功能。
例如:
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
}
命名功能的最佳做法是什么?为什么要使用这些做法?一个优于另一个有什么优势?
答案 0 :(得分:7)
一个简单的规则是:
如果函数更改程序的状态,则函数名称应为动词;如果用于返回某个值,则为名词。
要记住的另一件事是一致性。
如果您使用名称getName
保持一致,请不要在其他地方retrieveName
写信,因为这可能会让您的同事感到困惑。
另请注意,不同的语言确实具有不同的名称约定,因此您应始终检查以您正在使用的语言命名functions
和variables
的最佳方式。