# 命名规范

目前,业界共有四种命名法则:驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法 ,其中前三种是较为流行的命名法。
**
变量起名网站:codelf (opens new window)

# 开始

# 驼峰命令法(Camel)

  • 也称骆驼式命名法正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。
  • printEmployeePaychecks();
  • 函数名中的每一个逻辑断点都有一个大写字母来标记

# 匈牙利命名法(Hungarian)

  • 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其它。
  • m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量
  • 标识符的名字以一个或者多个小写字母开头作为前缀
  • 前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途
属性+类型+描述
属性一般是小写字母+_:
g_:全局变量
m_:类成员变量
s_:静态变量
c_:常量

类型就多了:
b:bool
sz:以零结束的字符串
p:指针
n:整整
dw:双字
l:长整型
无符号:u
函数:fn

# 帕斯卡命名法(Pascal)

  • 与骆驼命名法类似只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写
  • DisplayInfo();
  • string UserName;

# 下划线命名法

  • print_employee_paychecks();
  • 函数名中的每一个逻辑断点都有一个下划线来标记

## 命名原则
  • 自己特有的命名风格,要自始至终保持一致,不可来回变化。个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用
  • 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解——尽量采用采用英文单词或全部中文全拼表示。例如:temp->tmp、flag->标志寄存器、statistic->stat、increment->inc、message->msg等缩写能够被大家基本认可
  • 命名中若使用特殊约定或缩写,则要有注释说明。应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明
  • 除非必要,不要用数字或较奇怪的字符来定义标识符。
  • 命名规范必须与所使用的系统风格保持一致,并在同一项目中统一。
  • 对于变量命名,禁止取单个字符(如i 、j 、k… ),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i 、j 、k 作局部循环变量是允许的。

## 参考
  1. 三种编程规则:驼峰命名法、帕斯卡命名法、匈牙利名 (opens new window)