ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:25.30KB ,
资源ID:6770831      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6770831.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(开发管理之代码编码规范.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

开发管理之代码编码规范.docx

1、开发管理之代码编码规范1. 程序版式1.1. 对齐1.1.1. 程序块要采用缩进风格编写,缩进的空格数为4个。使用VC提供的Tab键对齐。1.1.2. “”和“”应独占一行并且位于同一列,同时引用他们的语句对齐1.1.3. 之的代码块在“”右边数格外左对齐例:正确 错误void Function(int x) / program codevoid Function(int x) / program codeif (condition) / program codeelse / program codeif (condition) / program codeelse / program cod

2、efor (initialization; condition; update) / program codefor (initialization; condition; update) / program codeWhile (condition) / program codewhile (condition) / program code如果出现嵌套的,则使用缩进对齐,如: 1.2. 空行1.2.1. 每个声明之后,每个函数定义之后要加空行1.2.2. 在一个函数体,逻辑上密切相关的语句之间不加空行,其它地方应加空行分隔1.2.3. 变量声明和代码之间加空行1.2.4. 函数返回语句用空

3、行例:void Function1() / 空行void Function2() void Function1() / 空行void Function2() / 空行while (condition) statement1; / 空行 if (condition) statement2; else statement3; / 空行 Return statement4 1.3. 代码行1.3.1. 一行代码只做一件事情,如只定义一个变量,或只写一条语句。1.3.2. if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行

4、语句部分无论多少都要加括号例:示例:风格良好的代码行 示例:风格不良的代码行int width; / 宽度int height; / 高度int depth; / 深度int width, height, depth; / 宽度高度深度x = a + b;y = c + d;z = e + f;X a + b; y = c + d; z = e + f;if (width height) dosomething();if (width = 2000) / 良好的风格if(year=2000) / 不良的风格if (a=b) & (c=b&c=d) / 不良的风格for (i=0; i10; i

5、+) / 良好的风格for(i=0;i10;i+) / 不良的风格for (i = 0; I 10; i +) / 过多的空格x = a b ? a : b; / 良好的风格x=aFunction(); / 不要写成 b - Function();1.5. 长行拆分1.5.1. 代码行最长度宜控制在70到80个字符以,代码行不宜过长1.5.2. 长表达式拆分,应将操作符放在新行之首,拆分出新行要适当缩进,使排版整齐例:if (very_longer_variable1 = very_longer_variable12)& (very_longer_variable3 = very_longer

6、_variable14)& (very_longer_variable5 = very_longer_variable16) dosomething();virtual CMatrix CMultiplyMatrix (CMatrix leftMatrix, CMatrix rightMatrix);for (very_longer_initialization; very_longer_condition; very_longer_update) dosomething();1.6. 修饰的位置1.6.1. 修饰符*和&应靠近变量名:char *name; int *x, y1.7. 类的版

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

8、.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. 对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时

9、都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。2.5.8. 将注释与其上面的代码用空行隔开/* 函数名称:* 函数说明:* 输入参数:* 返 回 值:*/void Function(float x, float y, float z) if () while () / end of while / end of if3. 命名规3.1. 共性规则3.1.1. 不可用汉语拼音,用英文、用词应准确3.1.2. 应用大小写混排方式,如:AddChild 3.1.3. 程序中不要出现仅靠大小写区分的相似的标识符3.1.4. 程序中不要出现标识符完全相同的简单变量和全局

10、变量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;voi

11、d SetValue();3.2.2. 变量和参数用小写字母开头的单词组合而成,如:BOOF bflag,;int nDrawMode;float fHeight;string strTitle;char cSource;3.2.3. 常量全用大写字母,用下划线分割单词 DDD_SAF3.2.4. 静态变量前加前缀s_,如:Static int s_initValue;3.2.5. 如果不得已需要全局变量,全局变量前加前缀g_,如:int g_howManyPeople3.2.6. 类的数据成员加前缀m_,如:void objet:Set Value(int width, int height

12、) m_width=width; m_height=height3.2.7. 适当使用匈牙利命名法4. 程序规4.1. 语句4.1.1. 对运算符很多的情况下,应该使用括号区分运算的顺序例如:word = (high .从左至右! + - (类型) sizeof+ - * &从右至左* / %从左至右+ -从左至右从左至右 =从左至右= !=从左至右&从左至右从左至右|从左至右&从左至右|从右至左?:从右至左= += -= *= /= %= &= =|= =从左至右4.1.2. if 语句4.1.2.1. 布尔变量与零值比较时,不可将布尔变量直接与TRUE、FALSE或者1、0进行比较 假设布

13、尔变量名字为flag,它与零值比较的标准if语句如下:if (flag) / 表示flag为真if (!flag) / 表示flag为假其它的用法都属于不良风格,例如: if (flag = TRUE) if (flag = 1 ) if (flag = FALSE) if (flag = 0) 4.1.2.2. 整型变量与零值比较时,应当将整型变量用“=”或“!=”直接与0比较假设整型变量的名字为value,它与零值比较的标准if语句如下:if (value = 0) if (value != 0)不可模仿布尔变量的风格而写成if (value) / 会让人误解 value是布尔变量 if

14、(!value)4.1.2.3. 浮点变量与零值比较时,不可将浮点变量用“=”或“!=”与任何数字比较千万要留意,无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用“=”或“!=”与数字比较,应该设法转化成“=”或“=-EPSINON) & (x=EPSINON)其中EPSINON是允许的误差(即精度)。4.1.2.4. 指针变量与零值比较时,应当将指针变量用“=”或“!=”与NULL比较指针变量的零值是“空”(记为NULL)。尽管NULL的值与0相同,但是两者意义不同。假设指针变量的名字为p,它与零值比较的标准if语句如下: if (p = NULL) /

15、p与NULL显式比较,强调p是指针变量 if (p != NULL) 不要写成 if (p = 0) / 容易让人误解p是整型变量 if (p != 0) 或者if (p) / 容易让人误解p是布尔变量 if (!p) 4.1.2.5. 程序中有时会遇到if/else/return的组合,应该将如下不良风格的程序例如:if (condition) return x; return y;改写为 if (condition) return x; else return y;或者改写成更加简练的 return (condition ? x : y);4.1.3. 循环语句4.1.3.1. 在多生循环

16、中,如果有可能,应将最长的循环放在最层,最短的循环放在最外层,以减少CPU跨越循环层的次数 例:for (row=0; row100; row+)for ( col=0; col5; col+ )sum = sum + arowcol;for (col=0; col5; col+ )for (row=0; row100; row+) sum = sum + arowcol;4.1.3.2. 如果循环体存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面例:for (i=0; iN; i+)if (condition) DoSomething();else DoOtherthing();

17、if (condition)for (i=0; iN; i+) DoSomething();else for (i=0; i 0 ) *pbTo + = *pbFrom + ; return pvTo; 4.3.3.2. 在函数的“出口处”,应对return语句的正确性和效率进行检查4.3.3.3. return语句不可返回指向“找存”(部变量)的指针或引用,因为该存在函数体结束时被自动销毁4.3.3.4. 要搞清楚返回的究竟是值、指针,还是引用4.3.3.5. 如果函数返回值是一个对象,要考虑return语句的效率4.3.4. 通用规则4.3.4.1. 函数的功能要单一,不要设计多用途函数4.3.4.2. 函数体规模要小,尽量控制在100行代码以,不包括注释和空格行4.3.4.3. 尽量避免

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2