变量的命名规则要求用“匈牙利法”,即开头字母用变量的类型,其余部分用变量的英文意思、英文的缩写、中文全拼或中文全拼的缩写,要求单词的第一个字母应大写。即: 变量名=作用域前缀+变量类型+变量的英文意思(或英文缩写、中文全拼、中文全拼缩写)。对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。
作用域前缀标明一个变量的可见范围。作用域可以有如下几种:
前缀 说明
无 局部变量
m_ 类成员变量(member)
sm_ 静态类成员变量(static member)
g_ 全局变量(global)
s_ 静态变量(static)
sg_ 静态全局变量(static gloabl)
gg_ 进程间共享的共享数据段全局变量(global global)
c_ 常量变量(const)
类型前缀标明一个变量的类型,可以有如下几种:
前缀 说明
i 整数类型int
n 短整数类型short int
l 长整数类型long int
c 字符类型char
b 布尔型变量bool
f 单浮点型变量float
d 爽浮点型变量double
by 无符号字符unsigned char
w 无符号整型unsigned int(WORD)
s 字符串string
sz 用0结尾的字符串
p 指针变量,同理pp代表二重指针pointer
变量的英文意思,一般采用动词+宾语,或者形容词+名词进行表示。
具体规范
1、工程名:
不强制统一。
2、文件名:
·基于工程名,开头3个字母应表明与哪一个工程相关。
·后面的字母应能够区别不同的功能。
·不区分大小写。
·长度不限于8.3格式,建议不多于30个字符。
·若文件用于定义和实现类,建议文件名与类名保持一致。
3、函数名:
·参照 Windows API 的命名规范。
·推荐使用动宾结构。函数名应清晰反映函数的功能、用途。
·函数名最长不得超过30个字符。
·函数名第一个字母必须大写。
·全局函数必须以小写前缀"g"开头。
4、变量名:
原则上,变量名的命名遵从匈牙利记法。即:前缀 + 类型 + 变量名
1)格式:
[m_|s_|g_] type [class name|struct name] variable name
2)解释:
m_ : 类的成员变量,ms_:类的静态成员变量,s_ :静态全局变量,g_ :普通全局变量。
·类型缩写(type)
·char, TCHAR: ch
·char[],TCHAR[]: sz
·string: str
·bool, BOOL: b
·int, __int16,__int32,__int64: n
·long: l
·double: d
·float: f
·BYTE: by
·WORD: w
·DWORD: dw
·unsigned: u
·function: fn
·p :pointer
·lp :long pointer
变量名最长不得超过20个字符。
5、类名:
·必须以大写"C"开头,后面字母反映具体含义,以清晰表达类的用途和功能为原则。
·接口必须以大写"I"开头,代表 Interface 。
·当名称由多个单词构成时,每一个单词的第一个字母必须大写。
6、结构体名、宏名、枚举名、联合名:
·全部大写。
·枚举名加小写前缀"enum"。
例:
typedef enum _CFILE_OPEN_MODE
{
enumOPEN_READONLY = 0,
enumOPEN_READWRITE = 1,
enumCREATE_ALWAY = 3
} CFILE_OPEN_MODE;
//·宏名加小写前缀"def"。
例:
#define defMAXNUMBER 100
·结构名加小写前缀"tag",之后必须以大写"C"开头。
例:
typedef struct tagKPOINT
{
int x;
int y;
} KPOINT;
//·联合名加小写前缀"uni"。
例:
typedef union _VARIANT{
char unichVal;
int uninVal;
long unilVal;
float uniftVal;
...
} VARIANT;
C/C++源代码书写规范(试行)
1. 在.h/.cpp的开头应有一段格式统一的说明,内容包括:
a. 文件名 (FileName);
b. 简短说明文件功能、用途 (Comment);
c. 创建人 (Creater);
d. 文件创建时间 (Date)。
例:
|
https://www.cnblogs.com/lzhu/p/4776288.html
https://www.cnblogs.com/ggjucheng/archive/2011/12/15/2289291.html
来源:CSDN
作者:小魔王降临
链接:https://blog.csdn.net/qq_30460949/article/details/104262245