【发布时间】:2010-12-16 22:36:39
【问题描述】:
根据您的解释,这可能是也可能不是修辞问题,但这确实让我感到困惑。这个约定有什么意义?我知道命名约定不一定要有押韵或背后的原因,但为什么要偏离已经流行的驼峰命名法呢? 是否有lower_case_with_underscores 背后的韵律和原因让我不知所措? (是的,我已经完整阅读了 PEP 8,是的,我明白这只是一个提案、指南等)
我想我真正的问题是:我正在编写一个 Python 库。事实上,如果运气好的话,相对于我的其他项目,它可能是一个相当大的库。我已经尝试尽可能地遵守 PEP 8,到目前为止,我什至将 lower_case_with_underscores 维护为 PEP 8 对函数和方法名称的指示。但是让我感到困扰的是,我必须记住将骆驼案例用于 Twisted,骆驼案例用于 logging,以及其他所有内容。 我应该使用什么命名约定,为什么?
我对命名如此关心,足以写一个冗长的问题,这可能会让人们感到惊讶,这也让我感到惊讶。也许我对这些事情有点强迫症。我对它没有太多的“个人意见”,因为我倾向于选择最常用的东西,在这种情况下,这将是 camelCase - 但它让我更恼火的是发现我可能违反了一些关于显式与隐式的永恒法则,以及用石头写成的 Python 禅宗之类的东西。
【问题讨论】:
-
"但是为什么要偏离已经流行的camelCase呢?"我相信 lower_case_with_underscores 比 camelCase 古老得多。此外,我个人非常厌恶任何一种 MixedCase 的 camelCase。使用您喜欢的任何约定。
-
使用系统匈牙利语。 :P 但说真的,它根本不会让人们感到惊讶——编码风格约定与编程的任何其他方面一样是一场宗教战争。你会发现很多关于 SO 的问题都是关于在哪里放置花括号或空格的禅宗。
-
匈牙利语应该如何使用鸭子打字? :p
-
不是,我觉得我的讽刺很明显。 :)
-
无论如何,lower_case_with_underscores 是一个笨拙的名称。我相信“蛇盒”是正确的术语,FWIW。
标签: python naming-conventions camelcasing pep8