dav*_*dav 19 python camelcasing pep8 naming-conventions
根据你的解释,这可能是也可能不是一个修辞问题,但它真的让我感到困惑.这个惯例有什么意义?我理解命名约定不一定要有背后的押韵或理由,但为什么偏离已经流行的camelCase?我不知道有什么押韵和背后的原因lower_case_with_underscores吗?(是的,我完整地阅读了PEP 8,是的,我确实理解它只是一个提案,指南等)
我想我的真正问题是:我正在编写一个Python库.事实上,运气好的话,相对于我的其他项目,它可能是一个相当大的库.我已经尝试尽可能地遵守PEP 8,到目前为止,我甚至保持lower_case_with_underscoresPEP 8指示功能和方法名称.但是我不得不记得使用camelCase for Twisted,camelCase logging以及其他所有东西.我应该使用什么命名约定,为什么?
令人惊讶的是,我非常关心命名,足以写出一个冗长的问题,而且我也很惊讶.也许在这些事情上我有一点强迫症.我没有太多关于它的"个人意见",因为我倾向于选择最常用的东西,在这种情况下,将是camelCase - 但它让我更加恼火的是找到那个我可能正在打破一些关于明确与隐含的永恒定律以及用石头或其他东西写成的蟒蛇的禅.
Ale*_*lli 49
camelCase和/或CamelCase(这本身就是一场辩论;-)对于你最熟悉的环境来说可能是最受欢迎的,但这几乎不会使它们具有普遍性 - 或者你从未听说过一种名为C++的晦涩语言,用它std::find_first_of和std::replace_copy_if算法等等?!
因此,正如您在PEP 8中所说的那样,没有"偏差" - 仅仅是对C++的选择 - 对比那些在Java或C#中更受欢迎的惯例.
至于你应该为自己的代码做些什么,只需选择一个约定并坚持下去 - 一致性比其他考虑因素更重要.我的雇主CamelCase为所有内部资源使用所有语言的约定(虽然不一定涉及暴露公共API,这是一个单独的问题),我个人厌恶它(我希望我能破坏整个编程领域对案例敏感性的所有依赖) ! - ),但我坚持,实际上有助于强制执行(在代码审查中),因为一致性很重要.
我想你会理解为什么只有当你不得不依赖屏幕阅读器向你读代码时,依赖于区分大小写才是一个可怕的想法 - 大多数屏幕阅读器在查明案例问题上做了很糟糕的工作,而且没有非常好的方式,没有强大或简单的约定将案例差异转换为简单的听觉线索(在将下划线转换为"点击"时,在一个良好的可配置屏幕阅读器中,使它变得轻而易举).对于没有任何视觉障碍的人,毫无疑问是90%或更多,你不需要关心(除非你想要包容并帮助那些不分享你完美视力的人... naah,who关心那些家伙,对吧?!).
但是,一致性仍然很重要,并且有助于_every_body.
Ry4*_*ase 15
我听说在其他情况下,word_with_underscores比非本地英语读者更容易分开,而不是wordByCamelCase.在视觉上,它需要较少的努力来解析单独的外来词.
smc*_*ron 12
LowerCaseWithUnderScoresAreSuperiorBecauseTheTextYouNormallyReadInABookOrNewsPaperForExampleIsNotWrittenLikeThis..
一个原因可能是历史上,许多计算机没有混合的案例功能.在COBOL时代,程序都是大写的.在80年代早期,许多"个人电脑"只带有大写字体.例如,您可以获得Apple II +的小写扩展卡.当程序开始允许混合案例时,骆驼案不受欢迎.许多程序采用了以前的全部大写,只是转换为小写.通过80年代的各种语言归结为案例意义,并在90年代Java中推广了camelCase语法.具有较早历史或与unix系统编程更紧密联系的语言往往避免对混合大小写进行语义使用.
带有下划线约定的小写一直回到unix apis.他们的整个系统都在这个惯例中.
| 归档时间: |
|
| 查看次数: |
5546 次 |
| 最近记录: |