标识符大小写真的很重要吗?
Posted
技术标签:
【中文标题】标识符大小写真的很重要吗?【英文标题】:Does identifier casing really matter? 【发布时间】:2009-08-26 08:52:35 【问题描述】:FxCop 认为我(基本上,凭记忆)函数、类和属性应该用 MajorCamelCase 编写,而私有变量应该用 minorCamelCase。
我在谈论 IRC 上一个相当受欢迎的项目并引用了一些代码。另一个家伙,一个相当臭名昭著的巨魔,也是一个半手术(喘气!)似乎不同意。一切都应该在同一个大小写中,他非常喜欢 MajorCamelCase,甚至是 underscore_separation。
当然,他只是一个巨魔,所以我认为我会继续按照我已经做过的方式去做。在我了解上述准则之前,我什至几乎没有连贯的命名风格。
不过,他让我思考——这样的事情真的重要吗?
【问题讨论】:
【参考方案1】:您需要确保您的代码在未来可读。请记住,您可能希望将您的应用程序的开发交给其他人,而这个人需要阅读并理解它。您可能会停止积极地从事一个项目并在一年后重新开始工作 - 并且惊讶于您必须仔细阅读代码才能了解它的工作原理。
我相信是 Steve McConnell 说过,特定的命名风格并不重要(你可以使用任何你想要的东西,只要你保持一致)但这仅适用于参与该项目的每个人都同意你的情况。
一般而言,最好尽可能采用社区接受的编码风格,以促进代码重用并缩短学习曲线。
【讨论】:
【参考方案2】:如果您不关心项目的长期可维护性(或一致性或可读性),那么不,大小写(以及一般的编码约定)并不重要。否则,它们确实很重要。见this。
【讨论】:
【参考方案3】:您的特定编码风格并不重要(很多),只要它在整个项目中保持一致即可。
这提高了可读性和理解力,就好像标识符以特定方式命名一样,读者可以(希望)对这种命名方式所暗示的内容充满信心。
关于 CamelCase v 下划线等:同样,这取决于您的编码约定。使用两者的一种方法是应用带下划线的前缀来指示使用函数或文件范围/全局变量的模块,例如Config_Update()
, Status_Get()
.
【讨论】:
以上是关于标识符大小写真的很重要吗?的主要内容,如果未能解决你的问题,请参考以下文章