1 / 68
文档名称:

华为代码规范文档.docx

格式:docx   大小:126KB   页数:68页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

华为代码规范文档.docx

上传人:guoxiachuanyue001 2020/9/15 文件大小:126 KB

下载得到文件列表

华为代码规范文档.docx

文档介绍

文档介绍:代码规范文档目录概述 5编写目的 5文档约定 5预期的读者和阅读建议 5参考文献 5排版要求 5程序块缩进 5程序块之间空行 5长语句和长表达式 6循环、判断等长表达式或语句 7长参数 7短语句 8条件、循环语句 8语句对齐 8函数、过程和结构等语句块 9程序块分界符 9操作符前后空格 10其他 11注释 11有效注释量 11公司标识 11说明性文件 12源文件头 13函数头部说明 13注释与代码一致 14注释内容 14注释缩写 14注释位置 14变量、常量注释 15数据结构的注释 15全局变量 16注释缩排 16注释与代码之间空行 17变量定义、分支语句 17其他 19标识符命名 20命名清晰 20特殊命名需注释 21命名风格保持一致 21变量命名 21命名规范与系统风格一致 22其他 22可读性 23运算符优先级 23避免直接使用数字作为标识符 24其他 24变量、结构 25公共变量 25公共变量说明 26公共变量访问说明 26公共变量赋值 26防止局部变量与公共变量同名。 26严禁使用未经初始化的变量作为右值。 26其他 27函数、过程 34对所调用函数的错误返回码要仔细、全面地处理。 34明确函数功能,精确(而不是近似)地实现函数设计。 34局部变量 34全局变量 34接口函数参数 35其他 35可测性 44调测开关 44打印信息 45单元测试 45集成测试 45断言使用 45设置与取消有关测试手段时,不能影响软件功能功能 48版本维护 48其他 48程序效率 50编程时要经常注意代码的效率。 50提高代码效率 50全局效率高于局部效率 51提高代码空间效率 51循环体内工作量最小化 52其他 53质量保证 56在软件设计过程中构筑软件质量。 56代码质量保证优先原则 56只引用属于自己的存贮空间。 56防止引用已经释放的内存空间。 56内存及时释放 57文件句柄及时关闭 57防止内存操作越界 58认真处理程序所能遇到的各种出错情况 59初始化变量 59数据一致性检查 59严禁随意更改其它模块或系统的有关设置和配置 59不能随意改变与其它模块的接口 59系统接口 59编程时,要防止差1错误 61操作符检查 61分支语句写完整 62使用return语句 62不要滥用goto语句 62其他 62代码编辑、编译、审查 65打开编译器的所有告警开关对程序进行编译 65在产品软件(项目组)中,要统一编译开关选项 65通过代码走读及审查方式对代码进行检查。 65测试部测试产品之前,应对代码进行抽查及评审 65其他 65代码测试、维护 单元测试要求至少达到语句覆盖 67单元测试开始要跟踪每一条语句,并观察数据流及变量的变化 67清理、整理或优化后的代码要经过审查及测试。 67代码版本升级要经过严格测试 67使用工具软件对代码版本进行维护 67正式版本上软件的任何修改都应有详细的文档记录 67其他 67宏 用宏定义表达式时,要使用完备的括号 68将宏所定义的多条表达式放在大括号中 68使用宏时,不允许参数发生变化 69概述编写目的为规范软件开发人员的代码编写提供参考依据和统一标准。文档约定说明本文档中所用到的专用术语定义或解释,缩略词定义。预期的读者和阅读建议本文档适用于所有软件开发人员。参考文献列出有关的参考文件,如:a•属于本项目的其他已发表文件;b•本文件中各处引用的文档资料。列出这些文件的标题、作者,说明能够得到这些文件资料的来源排版要求程序块缩进程序块要采用缩进风格编写,缩进的空格数为4个。说明:对于由开发工具自动生成的代码可以有不一致。程序块之间空行相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if(!valid_ni(ni)){...//programcoderepssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;应如下书写if(!valid_ni(ni)){...//programcode}repssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;长语句和长表达式较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。示例:=NO7_TO_STAT_PERM_COUNT_LEN+STAT_SIZE_PER_FRAM*sizeof(_UL);act_task_table[frame_id*STAT_TASK_CHECK_NUMBER+index].occupied=sta