不同的工作单位下不同同事的代码书写规范会有不同,初入一个单位,总是得适应当前代码工程的编码方式,编码方式的不统一也会经常让我感到疑惑,经过一段时间的熟悉,总结几个编码需遵守的共性规则,可使同事间代码维护更加方便。
原则:见名知意,无需二次解码。
1 常量、枚举、宏定义用大写字母,字母间隔用横杠。
如最大长度值,MAX_LENGTH。
2 变量
一般采用驼峰命名法:首字母小写,每个逻辑点的首字母用大写表示。
全局变量:
由于变量仅为属性,无动作执行,故变量采用“形容词”+“名词”的命名方式。
驼峰法命名:
前缀使用g_(未使用过此方式)
前缀标识出变量类型,如signed int用s32, unsigned int 用u32,u32BrightValue。
局部变量:
下划线命名法:全小写,中间用_标识出。
驼峰法命名:同全局变量,前缀标识出变量的类型。
4 函数名
一般采用帕斯卡命名法:与驼峰法类似,区别为首字母大写。
由于函数为动作执行体,故采用“动词”+“名词”的形式。Set*** Get***
各单词的首字母大写,见名知意,如SetBrightValue();
5 C++类名
同函数名,用大写字母开头表示,如:class Father;class Student;
6 结构体变量名
同变量命名。可以使用匈牙利命名法标识出作用域。
typedef struct __I2C_HandleTypeDef
{
HS_U32 u32I2cSpeed;
} I2C_HandleTypeDef;
7 结构体成员名
同变量命名。可以使用匈牙利命名法标识出作用域。
8 一般变量
a,b,c,x,y,z,i,j,k这类局部变量,一般用于函数体内循环使用,但最好有个具体的名字。
9 文件名
文件名要全小写,用下划线区分出,如my_picture_data.cpp.
10 静态变量
前缀加入s_,如s_u32BrightValue。
本质归纳:之所以针对C/C++规范命名规则,本质上是让代码更好地维护,此命名方式是灵活的,例如某些平台为了区分库函数和用户自定义函数,库函数使用小写开头...把握本质!让后来人更好地阅读代码~
到一个新环境后也不要盲目引入自己“认为”正确的编码方式,要随编译环境、其他大部分人编译方式而定,否则后续代码他人无法很好地维护!如:Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。