关于变量名的一点感想

来源:互联网 发布:动作数据日语 编辑:程序博客网 时间:2024/05/09 18:16

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

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,来得简明舒服一些