如果我的python类名有首字母缩写,我应该保留大写字母,还是只保留第一个字母?

如果我的python类名有首字母缩写,我应该保留大写字母,还是只保留第一个字母?,python,standards,Python,Standards,我有一个名为SSLXMLRPCServer的类。应该是that还是SslXmlRpcServer?我通常使用大写首字母缩写。Twisted和其他一些库也可以这样做。这是个人偏好的问题,但我发现第二种格式更容易阅读。事实上,您的第一种格式中有一个输入错误(PRC而不是RPC),这表明我不是唯一的一个。没有提到首字母缩略词。你最好把首字母缩略词大写(这是我看到最多的)。我经常遇到这个问题。我不喜欢大写首字母缩写,但我不喜欢它,因为当你把它们连在一起时(就像你的例子一样),感觉不对劲。然而,我认为最好

我有一个名为SSLXMLRPCServer的类。应该是that还是SslXmlRpcServer?

我通常使用大写首字母缩写。Twisted和其他一些库也可以这样做。

这是个人偏好的问题,但我发现第二种格式更容易阅读。事实上,您的第一种格式中有一个输入错误(PRC而不是RPC),这表明我不是唯一的一个。

没有提到首字母缩略词。你最好把首字母缩略词大写(这是我看到最多的)。

我经常遇到这个问题。我不喜欢大写首字母缩写,但我不喜欢它,因为当你把它们连在一起时(就像你的例子一样),感觉不对劲。然而,我认为最好的办法是做出选择并坚持使用hit,所以至少你不知道什么时候你需要在不需要检查的情况下引用它是如何编写的(这是编码标准的好处之一)

驼峰名字中大写首字母缩写的问题在于,首字母缩写后面的单词看起来像它的一部分,因为它以大写字母开头。此外,当您的示例中有多个列时,不清楚每个列从何处开始。出于这个原因,我可能会使用您的第二个选择。

它应该是SSLXMLRPCServer,以匹配标准库类,如SimpleXMLRPCServer、CGIXMLRPCRequestHandler等


采用不同于标准库中等价物的命名约定只会让人感到困惑。

关于首字母缩写和可读性的
SSL\u XML\u RPC\u Server
如何


当我出于某种原因想要避免使用驼峰字型时,我经常这样做。

如前所述,PEP-8建议使用大写字母作为首字母缩写。现在,python zen还说“可读性很重要”(对我来说,zen比PEP更重要:-)

在这种不明确的情况下,我的观点是在编程环境中考虑标准,而不仅仅是语言。例如,一些xml http查询类应该在servlet上下文中编写(w.r.t
XMLHttpRequest

我不知道您的上下文,但它似乎存在
XMLRPCServer
,您希望将ssl附加到它。因此,您可以选择如下内容:

SSL\u XMLRPCServer

它将强调
XMLRPCServer
——而不改变它
此外,您还可以靠近PEP-8并遵循禅宗:-)

我的2美分


注意:如果
XMLRPCServer
与您的类没有很强的相关性,并且确实是域中的标准,那么您需要选择另一个名称,以免混淆

好的,应该是SSLXMLRPCServer.)因为不同的原因我都喜欢。a) 第一个是首字母缩略词的“正确”版本。b) 第二个更容易阅读。首字母缩略词是一个缩写词(可以说),PEP8对缩写词很清楚:与Capshaws(以HTTPServerError为例)不同,.NET的可能副本有一个有趣的理解:两个字母的组件是大写的(最明显的是
IO
;实际上,我不记得在两个字母中看到过其他任何一个),但其他一切都是帕斯卡格式的,所以
Xml
Rpc
Ssl
Http
等等。听起来很奇怪,但我认为最初编写它的人就是无法忍受看着
Io
的痛苦。你的意思是,它没有提到它,只是注意:在大写字母中使用缩写时,将字母大写e缩写。因此HTTPServerError比HTTPServerError好。当然…:)(应该注意,我不同意这个建议。)这个评论应该是一个答案(然后它应该被接受为答案;如果你说的是在Python格式中应该做什么,Pep-8就是它的所在).除非你决定开始做,否则你会觉得不对劲。然后你会对那些将首字母缩略词塞进一起使它们无法解析的软件感到恼火。除了我们的例子:SSLXMLRPCServer真的很难阅读,所以感觉不对劲(即使这是最好的解决方案)。我认为混合使用驼峰格和蛇格是值得的。在我看来,你应该选择一种命名方式,并毫无例外地坚持下去。@mb14:“特殊情况不足以打破规则。尽管实用性胜过纯洁性。@mb14:“可读性是实用性特征吗?”mb14:“愚蠢的一致性是小头脑的妖怪。@Juh:可读性是实用性特征,意义上的“实用性”通常意味着“对实际使用的关注”。