我尝试遵守Python代码的样式指南(也称为PEP 8)。因此,命名类的首选方法是使用CamelCase:
Almost without exception, class names use the CapWords convention. Classes for internal use have a leading underscore in addition.
如果我的类名是由两个首字母缩略词组成的(在正确的英语中应该大写),我怎么能和PEP 8保持一致呢。例如,如果我的类名是“NASA JPL”,你会给它取什么名字?以下内容:
class NASAJPL(): # 1
class NASA_JPL(): # 2
class NasaJpl(): # 3
我用的是1,但看起来很奇怪;3看起来也很奇怪,2似乎违反了第8点。
#1
在这种情况下,我觉得很好(如果它是一个缩写)。出于好奇,它代表什么(类实例到底是什么,也许module
是更合适的除数)?编辑:当您组合两个首字母缩略词时,您可能希望将功能划分为多个模块(您永远不知道何时将下一个功能添加到程序中):
PEP-8确实涵盖了这一点(至少部分):
我将其理解为根据PEP-8,
NASAJPL()
是推荐的名称。就我个人而言,我会发现
NasaJpl()
是easiest to scan,因为大写字母很容易标记单词边界,并赋予名称一个独特的形状。正如其他人所指出的,NASAJPL可能是PEP-8批准的表单。
然而,恰恰相反,我可能会使用NasaJPL。因为如果你在读它,你会把“NASA”读成一个单词,而“JPL”你会拼出来。
因为“NASA”是一个缩略词,但是“JPL”是一个缩写(或者缩写,如果你想得到pedantic),你可以提出一个与PEP-8一致的论点。
相关问题 更多 >
编程相关推荐