我们正在讨论工作,因为我倾向于根据他们的工作来命名功能.
例如:
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
因为这可能会使您的同事感到困惑.
另外请记住,不同的语言确实有不同的名称约定,因此您应该始终检查命名的最佳方式functions
以及variables
您正在使用的语言.