如果一个类的名字是首字母缩略词,你怎么给它命名?

2024-06-01 02:49:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试遵守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点。


Tags: 方法代码use指南exception样式jpl命名
3条回答

#1在这种情况下,我觉得很好(如果它是一个缩写)。出于好奇,它代表什么(类实例到底是什么,也许module是更合适的除数)?

class NASAJPL:

编辑:当您组合两个首字母缩略词时,您可能希望将功能划分为多个模块(您永远不知道何时将下一个功能添加到程序中):

from NASA import JPL
from NASA import ARC

PEP-8确实涵盖了这一点(至少部分):

Note: When using abbreviations in CapWords, capitalize all the letters of the abbreviation. Thus HTTPServerError is better than HttpServerError.

我将其理解为根据PEP-8,NASAJPL()是推荐的名称。

就我个人而言,我会发现NasaJpl()easiest to scan,因为大写字母很容易标记单词边界,并赋予名称一个独特的形状。

正如其他人所指出的,NASAJPL可能是PEP-8批准的表单。

然而,恰恰相反,我可能会使用NasaJPL。因为如果你在读它,你会把“NASA”读成一个单词,而“JPL”你会拼出来。

因为“NASA”是一个缩略词,但是“JPL”是一个缩写(或者缩写,如果你想得到pedantic),你可以提出一个与PEP-8一致的论点。

相关问题 更多 >