第三章 命名规则
3.1 共性规则
标识符的长度应当符合“min-length && max-information”原则, 例如变量名maxval
就比maxValueUntilOverflow
好用。
命名规则尽量与所采用的操作系统或开发工具的风格保持一致。 例如 Windows 应用程序的标识符通常采用“大小写”混排的方式,如 AddChild
。 而 Unix 应用程序的标识符通常采用“小写加下划线”的方式,如 add_child
。不要将两种方式进行混用。
程序中不要出现仅靠大小写区分的相似的标识符。
变量的名字应当使用“名词”或者“形容词+名词”。例如newValue
。
全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。 类的成员函数应当只使用“动词”,被省略掉的名词就是对象本身。
DrawBox(); // 全局函数
box->Draw(); // 类的成员函
尽量避免名字中出现数字编号,如 Value1
,Value2
等,除非逻辑上的 确需要编号。
3.2 简单的 Windows 应用程序命名规则
-
类名和函数名用大写字母开头的单词组合而成。
class Node; // 类名 class LeafNode; // 类名 void Draw(void); // 函数名 void SetValue(int value); // 函数名
-
变量和参数用小写字母开头的单词组合而成。
BOOL flag; int drawMode;
-
常量全用大写的字母,用下划线分割单词。
const int MAX = 100; const int MAX_LENGTH = 100;
-
静态变量加前缀s_(表示 static)。
void Init(…) { static int s_initValue; // 静态变量 … }
-
如果不得已需要全局变量,则使全局变量加前缀g(表示member),这样可以避免数据成员与成员函数的参数同名。
int g_howManyPeople; // 全局变量 int g_howMuchMoney; // 全局变量
-
为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。
void Object::SetValue(int width, int height) { m_width = width; m_height = height; }