我最近一直试图遵守Python style guide ......我认为这是一个更好的改变!然而,它有一个元素,它没有为我详细介绍;函数的命名约定。
我正在编写一些代码,我在其中定义了一个带有"和#34;的函数。在其中,例如:
def spamtoeggs(arg):
...
我发现这很难阅读,并且想知道写这个的正确方法。我倾向于使用以下内容:
def spam2eggs(arg):
...
在:
def spam_to_eggs(arg):
...
请注意,我解释了样式指南使用"单词"在函数中意味着字母和数字,这可能是我的垮台......
我无法在线找到我的问题的答案(this SO post comes close),如果确实存在,我为复制它而道歉。
简而言之,我要问的是函数名中的字母是否可以互换?
答案 0 :(得分:2)
从风格指南中,正如你自己所说:
功能名称
函数名称应为小写,并根据需要用下划线分隔,以提高可读性。
在标识符中包含数字本质上不是问题,除非它们是标识符的开头。但如果你坚持风格指南,那就非常清楚了。如果你不那么担心坚持使用样式指南,可以随意使用数字,但是......这不符合样式指南,这似乎是你的标准。
答案 1 :(得分:1)
存在命名约定是有原因的。对于可能不得不在将来处理此代码的其他开发人员而言,对您来说更具可读性并不一定具有可读性。
所以,作为一个答案,如果你是唯一一个会工作并且看到这个代码的人,可以随意放弃垃圾箱中的标准。代码是你的,你用它做任何你想做的事。它可能是你的第一段代码。您可能甚至不是专业开发人员,等等......
但是,如果你想成为更广泛的开发者社区的一员,我不能强调坚持标准和最佳实践的重要性。你将成为一个更好的开发者。您会发现其他人的代码更易于阅读,人们会发现您的代码易于阅读。他们甚至可能喜欢你的代码(虽然经常发生......)。使用遗留代码是一项挑战,使用写得不好的遗留代码是......超出地狱。
在一天结束时,这是你的决定。您可以选择成为更好的开发人员并遵循标准,或者您可以选择编写不可持续的代码并保持终身工作;)https://www.thc.org/root/phun/unmaintain.html
答案 2 :(得分:0)
用2代替_to_似乎是可以接受的,但是想象一下你把它带得太远了,你的代码最终会得到如下构造:
a_n82_remember_4ever()
我想你不会想要那个,不是吗?所以最好把它扼杀在萌芽状态......; - )