2 命名规则
比较著名的命名规则当推“匈牙利” 命名法,该命名规则的主要思想是“在变量和函数名
中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以 为前缀,若是指针变
量则追加前缀 。如果一个变量由 开头,则表明它是指向字符指针的指针。
“匈牙利”法最大的缺点是烦琐,例如
C;
D-E;
倘若采用“匈牙利”命名规则,则应当写成
3FC;前缀 表示 类型
DG6;前缀 表示 D 类型
如此烦琐的程序会让绝大多数程序员无法忍受。
总的说来,没有一种命名规则可以让所有的程序员赞同,且命名规则对软件产品而言
并不是“成败悠关”的事,而且在不同的平台和不同的环境下编写的程序所应遵循的规则也
不尽相同,所以我们只是追求制定一种令大多数项目成员满意的命名规则,并在项目中贯
彻实施。
2.1 共性原则
本节论述的共性规则是被大多数程序员采纳的,我们应当在遵循这些共性规则的前提
下,再扩充特定的规则,如 2.2 节
☆ 【规则 2.1-1】 标识符应当直观且可以拼读,可望文知意,不必进行“解码”;
☆ 【规则 2.1-2】 标识符的长度应当符合“. HH-.I原则;
☆ 【规则 2.1-3】 命名规则尽量与所采用的操作系统或开发工具的风格保持一致;
☆ 【规则 2.1-4】 程序中不要出现仅靠大小写区分的相似的标识符。
☆ 【规则 2.1-5】 程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者
的作用域不同而不会发生语法错误,但会使人误解;
☆ 【规则 2.1-6】 变量的名字应当使用“名词”或者“形容词+名词”;
☆ 【规则 2.1-7】 全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组);
☆ 【规则 2.1-8】 用正确的反义词组命名具有互斥意义的变量或相反动作的函数等;
☆ 【建议 2.1-1】 尽量避免名字中出现数字编号,如 ' (+' ( 等,除非逻辑
上的确需要编号;
注:
2.1.1 标识符最好采用英文单词或其组合,便于记忆和阅读,切忌使用汉语拼音来命名,
程序中的英文单词一般不要太复杂,用词应当准确,例如不要把 CurrentValue 写
成 NowValue;
2.1.2 标示符的长度应当以最小的长度实现最多信息,一般来说,长名字能更好地表达
含义,但并非长的变量名就一定要比短的变量名要好,此外单字符的名字也是有
用的,常见的如 C-E 等,它们通常可用作函数内的局部变量;
2.1.3 不同的操作系统的程序设计风格是不一样的,例如 Windows 应用程序的标识符通
常采用“大小写”混排的方式,如 AddChild,而 Unix 应用程序的标识符通常采用“小
写加下划线”的方式,如 add_child,别把这两类风格混在一起使用;