关闭

函数变量命名的一些方法

213人阅读 评论(0) 收藏 举报

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

1. 帕斯卡规则(pascal ),如 Windows Api 的命名规则(CreateFile/GetDiskFreeSpaceEx),Java 类名

2. 骆驼规则(camel),如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中的结构名

9.匈牙利命名法则,如Windows变量名

这几种规则,前3种被大家看好,以下就举一些反例:

1. 单词的分界在视觉上感觉不舒服,主要是以f/l/d 作为分界时(GlobalAlloc,ReadFile),和下一个单词的首字母大写有些混淆

2.的缺点跟1一样

3. 在名称比较短时还行,不过这类名称一般也的确 比较短。下划线分隔,有时略显啰嗦,如getpage,就get_page,来得简明舒服一些

下面是我认为比较好的一套命名规则:

宏名:全部大写,只在类别后面用用下划线分隔,如(BOOST_CURRENT_FUNCTION/BOOST_STATIC_CONSTANT)

局部变量名:骆驼规则和简单变量,如(appName,i)

全局变量名:骆驼规则加 global前缀,如(globalProductName)

自定义类型名:下划线分隔单词规则加_t后缀,如(typedef enum error_e error_t;)

函数名:下划线分隔单词规则,如(lower_bound/equal_range)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20922次
    • 积分:214
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:28篇
    • 译文:0篇
    • 评论:0条
    文章分类