开发管理之代码编码规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发管理之代码编码规范-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
1.程序版式
1.1.对齐
1.1.1.程序块要采用缩进风格编写,缩进的空格数为4个。使用VC提供的Tab
键对齐。
1.1.
2.“{”和“}”应独占一行并且位于同一列,同时引用他们的语句对齐1.1.
3.{}之内的代码块在“{”右边数格外左对齐
例:
正确
错误
1.2.空行
1.2.1.每个声明之后,每个函数定义之后要加空行
1.2.2.在一个函数体内,逻辑上密切相关的语句之间不加空行,其它地方应加
空行分隔
1.2.3.变量声明和代码之间加空行
1.2.4.函数返回语句用空行
1.3.代码行
1.3.1.一行代码只做一件事情,如只定义一个变量,或只写一条语句。
1.3.
2.if、for、do、while、case、switch、default等语句自占一行,且if、for、
do、while等语句的执行语句部分无论多少都要加括号{}
例:
示例:风格良好的代码行示例:风格不良的代码行
1.4.空格
1.4.1.关键字之后要留空格:const, virtual, inline, if, while, for
1.4.
2.函数名之后不要留空格
1.4.3.“(”向后紧跟“,”,“、”,“.”,“;”,“)”向前紧跟
1.4.4.“,”后要留空格,“”;之后如果不是一行的结束,后面要留空格1.4.5.赋值操作符,比较,算术,逻辑,第二元操作符前后加空格
1.4.6.一元操作符!、~、++、--、—等前后不加空格
1.4.7.像[]、“.”、—>等前后不加空格
1.5.长行拆分
1.5.1.代码行最长度宜控制在70到80个字符以内,代码行不宜过长
1.5.
2.长表达式拆分,应将操作符放在新行之首,拆分出新行要适当缩进,使
排版整齐
1.6.修饰的位置
1.6.1.修饰符*和&应靠近变量名:char *name; int *x, y
1.7.类的版式
1.7.1.将public写前面,protect在其后,private写后面,以行为中心1.7.
2.变量在函数声明之后
1.7.3.逻辑相关的函数排列在一起
例:
class A
{
public:
void Func1(void);
void Func2(void);
//空行
int i, j;
…
protect:
void Func3(void);
void Func4(void);
float x, y;
…
private:
void Func5(void);
void Func6(void);
//空行
string a, b;
…
}
2.代码注释规则(范例文件)
2.1.每个文件头
2.1.1.阐述该文件包含的内容
2.1.2.对include的文件要注释
2.2.每个函数的头部
2.2.1.注明函数名称、函数说明、输入参数和返回值
2.3.每个类(即头文件)
2.3.1.注明类的用途
2.4.函数当中需要注释不易明折的地方
2.4.1.算法
2.4.2.设计思想
2.4.
3.独到的用处
2.5.原则
2.5.1.注释和代码一样要及时更新
2.5.2.注释不是代码的重复
2.5.
3.全部使用“//”方式注释
2.5.4.注释尽量不要单独占一行
2.5.5.注释要简洁、明了
2.5.6.边写代码边写注释,MFC自带的代码注释不用修改
2.5.7.对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在
声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。
2.5.8.将注释与其上面的代码用空行隔开
3.命名规范
3.1.共性规则
3.1.1.不可用汉语拼音,用英文、用词应准确
3.1.2.应用大小写混排方式,如:AddChild
3.1.3.程序中不要出现仅靠大小写区分的相似的标识符
3.1.
4.程序中不要出现标识符完全相同的简单变量和全局变量
3.1.5.变量名应当使用“名词”或“形容词+名词”,如:
float fValue;
float fOldVlaue;
float fNewValue;
3.1.6.函数名应使用动词或动词+名词,如:
void GetValue();
3.1.7.用正确的反义词组命名具有互斥定义的变量或相反动作的函数,如:
int nMinValue;
int nMaxValue;
int nSetValue;
int nGetValue;
3.1.8.对于借来的代码,不改变其命名
3.2.命名规则
3.2.1.类名和函数名用大写字母开头的单词组合而成,如:
class Node;
class LeafNode;
void SetValue();
3.2.2.变量和参数用小写字母开头的单词组合而成,如:
BOOF bflag,;
int nDrawMode;
float fHeight;
string strTitle;
char cSource;