比较著名的命名规则当推Microsoft 公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch 为前缀,若是指针变量则追加前缀p。如果一个变量由ppch 开头,则表明它是指向字符指针的指针。
“匈牙利”法最大的缺点是烦琐,例如
int i, j, k;
float x, y, z;
倘若采用“匈牙利”命名规则,则应当写成
int iI, iJ, ik; // 前缀 i 表示int类型
float fX, fY, fZ; // 前缀 f 表示float 类型
如此烦琐的程序会让绝大多数程序员无法忍受。
据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。
关于C语言变量和函数命名总结以下几点,大家可以讨论交流一下:
1、变量名长度应当符合“min-length && max-information”原则。
2、命名规则尽量与所采用的操作系统或开发工具的风格保持一致。
3、不能靠大小写来区分不通变量。
4、名词变量用“名词”或者“形容词+名词”的形式,动词用动宾形式。
5、如果需要有特定意义的,应该在变量命名是有所体现,如反义等;但是不推荐使用数字标记,如name1,name2;
6、关于大小写规则。变量第一个为小写,但第二个词为大写开始,如:newName;而函数名两个都为大写开头,如:GetName();
7、常量都为大写,同时两个词间用_分开。
8、静态变量以s_开头,全局变量以glb_开头。
参考资料:
高质量C++/C 编程指南 林锐