欢迎来到天天文库
浏览记录
ID:18282449
大小:92.00 KB
页数:7页
时间:2018-09-16
《华为编程规范(简化版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华为机密,未经许可不得扩散ConfidentialInformationofHuawei,NoSpreadingwithoutPermission编程规范v0简化版CodingStandardv0编程规范研发内部公开CodingStandardForR&Dinternaluseonly目录前言软件编程规范总则2第一章排版3第二章注释14第三章标识符命名29第四章可读性34第五章变量、结构38第六章函数、过程53第七章可测性74第八章程序效率85第九章质量保证94第十章代码编辑、编译、审查106第十一章代码测试、维护110第十二章宏112第一章排版Chapter1Lay
2、out¹规则1-1:程序块要采用缩进风格编写,缩进的空格数为4个。¹规则1-2:相对独立的程序块之间、变量说明之后必须加空行。空行可以使程序结构比较清晰。逻辑上关系比较紧密的代码放在一起,逻辑上相对比较独立的部分用空行隔开。¹规则1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。Example:report_or_not_flag=((taskno3、&&(act_task_table[taskno].result_data!=0));¹规则1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。示例:for(i=0,j=0;(i4、-7:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示例:如下例子不符合规范。Example:Thefollowingexampleisnotaccordtothestandard.if(pUserCR==NULL)return;应如下书写:Shouldbewrittenasfollows:if(pUserCR==NULL){return;}¹规则1-8:对齐只使用空格键,不使用TAB键。¹规则1-11:if、for、while、switch等与后面的括5、号间应加空格,使if等关键字更为突出、明显。第二章注释Chapter2Note¹规则2-2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。/*************************************************Copyright(C),1988-1999,HuaweiTech.6、Co.,Ltd.Filename://文件名Author:Version:Date://作者、版本及完成日期Explanation://用于详细说明此程序文件完成的主要功能,与其他模块//或函数的接口,输出值、取值范围、含义及参数间的控//制、顺序、独立或依赖等关系Others://其它内容的说明FunctionList://主要函数列表,每条记录应包括函数名及功能简要说明1.....History://修改历史记录列表,每条修改记录应包括修改日期、修改//者及修改内容简述1.Date:Author:Modification:2....****************7、*********************************/¹规则2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。/************************************************************Copyright(C),1988-1999,HuaweiTech.Co.,Ltd.FileName:test.cppAuthor:Version:Date
3、&&(act_task_table[taskno].result_data!=0));¹规则1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。示例:for(i=0,j=0;(i4、-7:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示例:如下例子不符合规范。Example:Thefollowingexampleisnotaccordtothestandard.if(pUserCR==NULL)return;应如下书写:Shouldbewrittenasfollows:if(pUserCR==NULL){return;}¹规则1-8:对齐只使用空格键,不使用TAB键。¹规则1-11:if、for、while、switch等与后面的括5、号间应加空格,使if等关键字更为突出、明显。第二章注释Chapter2Note¹规则2-2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。/*************************************************Copyright(C),1988-1999,HuaweiTech.6、Co.,Ltd.Filename://文件名Author:Version:Date://作者、版本及完成日期Explanation://用于详细说明此程序文件完成的主要功能,与其他模块//或函数的接口,输出值、取值范围、含义及参数间的控//制、顺序、独立或依赖等关系Others://其它内容的说明FunctionList://主要函数列表,每条记录应包括函数名及功能简要说明1.....History://修改历史记录列表,每条修改记录应包括修改日期、修改//者及修改内容简述1.Date:Author:Modification:2....****************7、*********************************/¹规则2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。/************************************************************Copyright(C),1988-1999,HuaweiTech.Co.,Ltd.FileName:test.cppAuthor:Version:Date
4、-7:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示例:如下例子不符合规范。Example:Thefollowingexampleisnotaccordtothestandard.if(pUserCR==NULL)return;应如下书写:Shouldbewrittenasfollows:if(pUserCR==NULL){return;}¹规则1-8:对齐只使用空格键,不使用TAB键。¹规则1-11:if、for、while、switch等与后面的括
5、号间应加空格,使if等关键字更为突出、明显。第二章注释Chapter2Note¹规则2-2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。/*************************************************Copyright(C),1988-1999,HuaweiTech.
6、Co.,Ltd.Filename://文件名Author:Version:Date://作者、版本及完成日期Explanation://用于详细说明此程序文件完成的主要功能,与其他模块//或函数的接口,输出值、取值范围、含义及参数间的控//制、顺序、独立或依赖等关系Others://其它内容的说明FunctionList://主要函数列表,每条记录应包括函数名及功能简要说明1.....History://修改历史记录列表,每条修改记录应包括修改日期、修改//者及修改内容简述1.Date:Author:Modification:2....****************
7、*********************************/¹规则2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。/************************************************************Copyright(C),1988-1999,HuaweiTech.Co.,Ltd.FileName:test.cppAuthor:Version:Date
此文档下载收益归作者所有