编程命名规则

落花浮王杯 提交于 2020-03-11 02:30:12

       变量的命名规则要求用“匈牙利法”,即开头字母用变量的类型,其余部分用变量的英文意思、英文的缩写、中文全拼或中文全拼的缩写,要求单词的第一个字母应大写。即: 变量名=作用域前缀+变量类型+变量的英文意思(或英文缩写、中文全拼、中文全拼缩写)。对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。 

作用域前缀标明一个变量的可见范围。作用域可以有如下几种:

前缀    说明
无      局部变量
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)。

例:

/*!

  *@file

  *@brief

  *@author

  *@date

*/

https://www.cnblogs.com/lzhu/p/4776288.html

https://www.cnblogs.com/ggjucheng/archive/2011/12/15/2289291.html

https://yq.aliyun.com/articles/388180

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!