利用名字的格式来传递含义
对于下划线、连字符和大小写的使用方式也可以把更多信息装到名字中。例如,下面是一些遵循Google开源项目格式规范的C++代码:
对不同的实体使用不同的格式就像语法高亮显示的形式一样,能帮你更容易地阅读代码。
该例子中的大部分格式都很常见,使用CamelCase来表示类名,使用lower_separated来表示变量名。但有些规范也可能会出乎你的意料。
例如,常量的格式是kConstantName而不是CONSTANT_NAME。这种形式的好处是容易和#define的宏区分开,宏的规范是MACRO_NAME。
类成员变量和普通变量一样,但必须以一条下划线结尾,如offset_。刚开始看,可能会觉得这个规范有点怪,但是能立刻区分出是成员变量还是其他变量,这一点还是很方便的。例如,如果你在浏览一个大的方法中的代码,看到这样一行:
你本来可能要想“stats属于这个类吗?这行代码是否会改变这个类的内部状态?”如果用了member_这个规范,你就能迅速得到结论:“不,stats一定是个局部变量。否则它就会命名为stats_。”
其他格式规范
根据项目上下文或语言的不同,还可以采用其他一些格式规范使得名字包含更多信息。例如,在《JavaScript:The Good Parts》(Douglas Crockford,O'Reilly,2008)一书中,作者建议“构造函数”(在新建时会调用的函数)应该首字母大写而普通函数首字母小字:
下面是另一个JavaScript例子:当调用jQuery库函数时(它的名字是单个字符$),一条非常有用的规范是,给jQuery返回的结果也加上$作为前缀:
在整段代码中,都会清楚地看到$all_images是个jQuery返回对象。
下面是最后一个例子,这次是HTML/CSS:当给一个HTML标记加id或者class属性时,下划线和连字符都是合法的值。一个可能的规范是用下划线来分开ID中的单词,用连字符来分开class中的单词。
是否要采用这些规范是由你和你的团队决定的。但不论你用哪个系统,在你的项目中要保持一致。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论