关于变量名的一点感想

变量的命名规则,一般有这么几种:

1. 骆驼规则,如 Windows Api 的命名规则(CreateFile/GetDiskFreeSpaceEx),Java 类名的规则 

2. 首单词小写,如Java方法名(readByte)

3. 下划线分隔单词,如C++标准库(lower_bound/equal_range)

4. 全部小写,无分隔,如unix(posix)的很多函数名(getpagesize),但这类大部分使用所写(mmap/sysconf)

5. 骆驼规则再加下划线,ACE使用这种规则(ACE_Event_Handler )

6. C 宏名命名规则,一般是全部大写,再加下划线(BOOST_CURRENT_FUNCTION/BOOST_STATIC_CONSTANT)

7. Windows 中使用一个变种,全部大写,类别前缀加下划线,再加单词连写(WM_ACTIVATETOPLEVEL)

8. 全部大写,无分隔,如Windows中的结构名

 

这几种规则,我个人认为最坏的是【8】,然后是【7】,全部大写不加单词分隔很难辨别(单词界线)。【3】在名称比较短时还行,这类名称一般也的确比较短。

这几种命名规则,我个人觉得都不太好,主要是在视觉是感觉不好,以下就举一些反例(最被大家看好的):

【1】. GlobalAllocReadFile,单词的分界在视觉上感觉不舒服,主要是以f/l/d/作为分界时,和下一个单词的首字母大写有些混淆,【2】的缺点跟【1】一样。

【3】. 下划线分隔,有时略显啰嗦,如getpage,就比get_page,来得简明舒服一些

 

作者:
该日志由 rockeet 于2009年01月04日发表在杂谈分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
转载请注明: 关于变量名的一点感想
标签:
【上一篇】
【下一篇】

您可能感兴趣的文章:

2 个回复

  1. 匿名用户说道:

    Pascal 命名法遇到单字母的单词比较丑,IsAGoodBoy 别的还不错,所以我用做 interface 部分,比如 class name, function name, public member variable 等。

  2. whinah说道:

    回复 匿名用户:英雄所见略同

发表评论

您必须 登录 后才能发表评论。