文档介绍:编码:NK-SPI-E-TS-P03
北京京北方科技有限公司
VC++编码规范
拟制人唐华明日期 2005年12月15日
审核人孙海涛日期 2005年12月28日
批准人孙海涛日期 2005年12月28日
更改控制页
序号
版本号
更改时间
更改内容描述
填写人
1
2005-12-15
建立
唐华明
目录
1 规范简介 1
2 2、一般格式规范 1
缩进 1
空格 1
2
3 3、命名规范 2
变量命名约定 3
变量范围约定 3
常量、枚举常数、宏定义约定 4
资源命名约定 4
常用Windows对象命名约定 5
、控件对象命名其他约定 5
常用英文单词在命名中的缩写约定 6
4 4、注释规范 6
文件头说明 7
开发日志 8
程序注释 8
5 5、编程风格规范 9
变量、函数、结构声明 9
健壮性 11
模块性 11
易读性 12
执行效率 12
6 6、界面风格 12
运行环境 13
GUI风格 13
7 7、项目管理 15
规范简介
本规范主要规定VC源程序在书写过程中所应遵循的规则及注意事项,使用标准C和C++ Builder的程序员也需参考该规范开展编程。编写该规范的目的是使公司软件开发人员的源代码书写****惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码,以便于源代码的二次开发和系统维护,从而建立本公司VC程序正规化、工业化的软件开发过程。
2、一般格式规范
V C提供Alt+F8功能键对源文件进行文件规格化,可以减少部分规格化工作量。为保证语句结构的清晰和程序的可读性,请在一行内只写一条语句,并采用空格、空行、折行、缩进等手段保证清楚的视觉效果。
缩进
缩进就是在当源程序的级改变时为增加可读性而露出的空白区。缩进量以Tab键为单位,定义Tab为 4个空格。缩进的规则为每一级缩进一个Tab。利用缩进显示程序的逻辑结构,一般函数体、过程体、循环体(for、while、do)、条件判断体(if、else)和条件选择(switch、case)需要向内缩进一个Tab,同层次的代码在同层次的缩进层上。程序中每个block(语句块)的开头‘{’及‘}’必须对齐,嵌套的block 每进一套,缩进一个Tab。
函数体相对函数名、‘{’、‘}’,代码缩进一个 Tab,例:
int Power(int x)
{
return (x * x);
}
‘{’及‘}’必须在同一列上,独占一行,在该行内可有注释。‘{’之后的代码必须缩进一个Tab。在循环、分支之后若只有一行代码,虽然可省略‘{’及‘}’,但不推荐这么做。若省略后可能引起歧义,则必须加上‘{’及‘}’。
switch 之后的 case、default不必缩进。
空格
在所有两目、三目运算符的两边都必须有空格。在单目运算符两端不必空格。但在‘->’、‘::’、‘.’、‘[’、‘]’等运算符前后,及‘&’(取地址)、‘*’(取值)等运算符之后不得有空格。
for、while、if 等关键词之后应有1个空格,再接‘(’,之后无空格;在结尾的‘)’前不得有空格,例:if (n > 0)
调用函数、宏时,‘(’、‘)’前后不得有空格,例:printf("%d\r\n", nIndex);
类型强制转换时,‘(’‘)’前后不得有空格,例:(CFile*)pFile;
行长度不要超过80个字符(缩进的Tab按4个空格记),一行之内写不下,应在合理的位置进行折行,新行多缩进一个Tab。若在运算符处折行,运算符放于新行首位。
循环、分支代码,判断条件与执行代码不得在同一行上。例:
if (n == 0)
n = 1;
else
n = -1;
不得写成:
if (n == 0) n = 1;
else n = -1;
else if 必须写在一行。
一般来讲函数与函数之间的空行为2-3行。函数内注意功能块的划分,把不同的功能块之间用一个空行隔开,就更能使程序清晰、整齐。
3、命名规范
为函数、变量取名,应取有实际意义的名,原则上取英文名,考虑易读性。采用匈牙利命名法为变量、类成员等起名,也就是在名字前面加上前缀表示变量的类型。比如szName就指的是字符串类型的Name变