函数名称中的数字
最近我在努力遵循Python的风格指南,我觉得这样做是有好处的!不过,有一个方面我觉得讲得不够详细,那就是函数的命名规则。
我在写代码的时候,定义了一个包含“to”这个词的函数,比如:
def spamtoeggs(arg):
...
我觉得这样写不太好读,想知道正确的写法是什么。我倾向于使用以下方式:
def spam2eggs(arg):
...
过于:
def spam_to_eggs(arg):
...
注意,我理解风格指南中提到的“单词”是指字母和数字,这可能是我出错的地方……
我在网上找不到我问题的答案(这篇SO帖子差不多),如果答案确实存在,我为重复提问而道歉。
总之,我想问的是,函数名中的数字和字母可以互换使用吗?
3 个回答
乍一看,把_to_换成2似乎没什么问题,但想象一下,如果你这样做过头了,你的代码可能会变成下面这样:
a_n82_remember_4ever()
我想你应该不想看到这样的结果,对吧?所以最好还是早点制止这种做法... ;-)
命名规范是有原因的。对你来说更容易读懂的东西,不一定对其他未来可能要处理这段代码的开发者也同样容易读懂。
所以,如果你是唯一一个会看到和使用这段代码的人,那就可以随意抛弃这些标准。代码是你的,你想怎么写就怎么写。这可能是你写的第一段代码,你甚至可能还不是专业开发者等等……
但是,如果你想成为更大开发者社区的一部分,我必须强调遵循标准和最佳实践是多么重要。这样你会成为一个更好的开发者。你会发现其他人的代码更容易理解,而别人也会觉得你的代码好读。甚至他们可能会喜欢你的代码(不过这种情况并不常见……)。处理老旧代码本身就很有挑战性,而处理那些写得很糟糕的老旧代码就真的是……难以忍受。
最终,这都是你的选择。你可以选择成为一个更好的开发者,遵循标准;或者你可以选择写一些难以维护的代码,过一辈子都保持这个工作 ;) https://www.thc.org/root/phun/unmaintain.html
根据风格指南,正如你自己所说的:
函数命名
函数的名字应该使用小写字母,如果需要的话,可以用下划线分隔单词,以提高可读性。
在标识符中包含数字本身并没有什么问题,除非数字出现在标识符的开头。不过,如果你遵循风格指南,那就很清楚了。如果你不太在意遵循风格指南,可以随意使用数字,但...那样就不算遵循风格指南了,而这似乎是你所关注的标准。