出于什么原因,我们有低_大小写_强调命名约定?

2024-04-30 01:48:30 发布

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

根据你的解释,这可能是一个反问句,也可能不是,但我真的很困惑。这个惯例有什么意义?我知道命名惯例不一定要有押韵或背后的原因,但为什么要偏离已经流行的camelCase呢?我不知何故失踪了,这背后有没有押韵和原因?(是的,我已经完整地阅读了第8号政治公众人物计划,是的,我确实理解它只是一个建议、一个指南等。)

我想我真正的问题是:我在写一个Python库。事实上,幸运的是,相对于我的其他项目,它可能是一个相当大的库。我已经尽可能地坚持使用PEP 8,到目前为止,我甚至按照pep8对函数名和方法名的指示维护了lower_case_with_underscores。但它让我很恼火,我必须记住使用camelCase来处理Twisted,camelCase来处理logging,以及几乎所有其他事情。我应该使用什么命名约定,为什么?

我这么在乎命名,足以写出一个冗长的问题,这可能会让人们感到惊讶,我也感到惊讶。也许在这些事情上我有点强迫症。我对它没有太多的“个人意见”,因为我有一种倾向,就是去用最常用的东西,在这种情况下,这将是驼峰-但它更让我恼火的发现,我可能打破了一些永恒的规律,显式与隐式和禅宗Python写在石头或其他东西。


Tags: 项目指南原因事情命名政治建议pep
3条回答

小写的雷霆核心之所以是superior,是因为文本您通常阅读的是bookorNewspaper,例如不是writentenlikethis。

我听说在其他上下文中,带下划线的单词比用camelcase的单词更容易被非英语母语的读者分开。从视觉上看,解析独立的外来词所需的工作更少。

^ {CD1>}和/或^ {CD2>}(这本身就是一个辩论;-)对于EM> E> EME>最熟悉的环境,可能是压倒性最流行的,但这几乎不使它们通用,或者您从未听说过C++的晦涩语言,其^ {CD3>}和^ {CD4>}算法等等?

这样,在PEP 8中没有“偏差”,就像对Java或C++ java中更流行的C++标准约定的选择一样。

至于您应该为自己的代码做什么,只需选择一个约定并坚持它——一致性比其他考虑因素更重要。我的雇主在所有语言中对所有内部源使用一个CamelCase约定(虽然在公开公共api时不一定,这是一个单独的问题),我个人很讨厌它(我希望我可以破坏整个编程领域对区分大小写的依赖!)!-),但我坚持这样做,并实际帮助实施它(在代码评审中),因为一致性非常重要。

我想你会明白为什么只有当你不得不依靠屏幕阅读器来向你读出代码时,依赖于区分大小写才是一个可怕的想法——大多数屏幕阅读器在查明案例问题上做得很糟糕,而且没有真正好的方法,没有一个强大或简单的惯例可以将大小写差异转换为简单的听觉线索(在一个好的可配置屏幕阅读器中,将下划线转换为“点击”会让它变得轻而易举)。对于没有任何视觉障碍的人,这无疑是90%或更多,你不需要关心(除非你想包容和帮助那些不想分享你完美视力天赋的人。。。啊,谁在乎那些家伙,对吧?!)。

但是,始终如一还是很重要的,对每个人都有帮助。

相关问题 更多 >