电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

huawei代码书写规范

69页
  • 卖家[上传人]:n****
  • 文档编号:44197054
  • 上传时间:2018-06-08
  • 文档格式:PDF
  • 文档大小:286.71KB
  • / 69 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、目录1 排版 6 2 注释 11 3 标识符命名 18 4 可读性 20 5 变量、结构 22 6 函数、过程 28 7 可测性 36 8 程序效率 40 9 质量保证 44 10 代码编辑、编译、审查 50 11 代码测试、维护 52 12 宏 531 排版 11:程序块要采用缩进风格编写,缩进的空格数为4 个。说明:对于由开发工具自动生成的代码可以有不一致。12:相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if (!valid_ni(ni). / program coderepssn_ind = ssn_dataindex.repssn_indexrepssn_ni= ssn_dataindex.ni应如下书写if (!valid_ni(ni). / program coderepssn_ind = ssn_dataindex.repssn_indexrepssn_ni= ssn_dataindex.ni13:较长的语句(80 字符)要分成多行书写,长表达式要在低优先级操作符处划分新行, 操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句

      2、可读。示例:perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN+ STAT_SIZE_PER_FRAM * sizeof( _UL )act_task_tableframe_id * STAT_TASK_CHECK_NUMBER + index.occupied= stat_poiindex.occupiedact_task_tabletaskno.duration_true_or_false= SYS_get_sccp_statistic_state( stat_item )report_or_not_flag = (taskno ) ,后不应 加空格。说明:采用这种松散方式编写代码的目的是使代码更加清晰。由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格, 如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不 必加空格,因为在 C/C+语言中括号已经是最清晰的标志了。在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给 操 作符留空格时不要连续留

      3、两个以上空格。示例:(1) 逗号、分号只在后面加空格。int a, b, c(2)比较操作符, 赋值操作符“=“、 “+=“,算术操作符“+“、“%“,逻辑操作符“&“、“&“,位 域操作符“= MAX_TIME_VALUE)a = b + ca *= 2a = b 2(3)“!“、“、“+“、“、“&“(地址运算符)等单目操作符前后不加空格。*p = a/ 内容操作“*“与内容之间flag = !isEmpty / 非操作“!“与内容之间p = &mem/ 地址操作“&“ 与内容之间i+/ “+“,“与内容之间(4)“、“.“前后不加空格。pid = pid/ “指针前后不加空格(5) if、for、while、switch 等与后面的括号间应加空格,使if 等关键字更为突出、明显。if (a = b & c d)11:一行程序以小于80 字符为宜,不要写得过长。2 注释 21:一般情况下,源程序有效注释量必须在20以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能 太少,注释语言必须准确、易懂、简洁。22:说明性文件(如头文件.h 文件、.inc

      4、 文件、.def 文件、编译说明文件.cfg 等)头部应进 行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件 的 关系、修改日志等,头文件的注释中还应有函数功能简要说明。示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要 包 含在内。/*Copyright (C), 19881999, Huawei Tech. Co., Ltd.File name:/ 文件名Author:Version:Date: / 作者、版本及完成日期Description:/ 用于详细说明此程序文件完成的主要功能,与其他模块/ 或函数的接口,输出值、取值范围、含义及参数间的控/ 制、顺序、独立或依赖等关系Others:/ 其它内容的说明Function List:/ 主要函数列表,每条记录应包括函数名及功能简要说明1. .History:/ 修改历史记录列表,每条修改记录应包括修改日期、修改/ 者及修改内容简述1. Date:Author:Modification:2. .*/23:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/

      5、功能、 主要函数及其功能、修改日志等。示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要 包 含在内。/*Copyright (C), 19881999, Huawei Tech. Co., Ltd.FileName: test.cppAuthor:Version :Date:Description:/ 模块描述Version:/ 版本信息Function List:/ 主要函数及其功能1. History:/ 历史修改记录David96/10/121.0build this moudle*/说明:Description 一项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文 件关系等。History 是修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内 容简述。24:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用 关系(函数、表)等。示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含 在 内。/*Function:/ 函数名称Description:/ 函数功能、性能等的描述Ca

      6、lls:/ 被本函数调用的函数清单Called By:/ 调用本函数的函数清单TableAccessed: / 被访问的表(此项仅对于牵扯到数据库操作的程序)Table Updated:/ 被修改的表(此项仅对于牵扯到数据库操作的程序)Input:/ 输入参数说明,包括每个参数的作/ 用、取值说明及参数间关系。Output:/ 对输出参数的说明。Return:/ 函数返回值的说明Others:/ 其它说明*/25:边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再 有用的注释要删除。26:注释的内容要清楚、明了,含义准确,防止注释二义性。说明:错误的注释不但无益反而有害。规则 27:避免在注释中使用缩写,特别是非常用缩写。 说明:在使用缩写时或之前,应对缩写进行必要的说明。28: 注释应与其描述的代码相近, 对代码的注释应放在其上方或右方 (对单条语句的注释) 相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。示例:如下例子不符合规范。例 1:/* get replicate sub system index and net indicator *

      7、/repssn_ind = ssn_dataindex.repssn_indexrepssn_ni = ssn_dataindex.ni例 2:repssn_ind = ssn_dataindex.repssn_indexrepssn_ni = ssn_dataindex.ni/* get replicate sub system index and net indicator */应如下书写/* get replicate sub system index and net indicator */repssn_ind = ssn_dataindex.repssn_indexrepssn_ni = ssn_dataindex.ni29:对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须 加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。示例:/* active statistic task number */#define MAX_ACT_TASK_NUMBER 1000#define MAX_ACT_TASK_NUMBER 1000 /

      8、* active statistic task number */210:数据结构声明(包括数组、结构、类、枚举等),如果其命名不是充分自注释的,必须 加以注释。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的 注释放在此域的右方。示例:可按如下形式说明枚举/数据/联合结构。/* sccp interface with sccp user primitive message name */enumSCCP_USER_PRIMITIVEN_UNITDATA_IND, /* sccp notify sccp user unit data come */N_NOTICE_IND,/* sccp notify user the No.7 network can not */* transmission this message */N_UNITDATA_REQ, /* sccp users unit data transmission request*/211:全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以 及存取时注意事项等的说明。示例:/* The ErrorCode when SCCP translate */* Global Title failure, as follows */ 变量作用、含义/* 0 SUCCESS1 GT Table error */* 2 GT errorOthers no use*/ 变量取值范围/* onlyfunctionSCCPTranslate() in */* this modual can modify it,andother */* module can visit it through call */* thefunction GetGTTransErrorCode() */ 使用方法BYTE g_GTTranErrorCode212:注释与所描述内容进行同样的缩排。说明:可使程序排版整齐,并方便注释的阅读与理解。示例:如下例子,排版不整齐,阅读稍感不方便。void example_fun( void )/* code one comments */CodeBlock One/* code two comments */CodeBlock Two应改为如下布局。void

      《huawei代码书写规范》由会员n****分享,可在线阅读,更多相关《huawei代码书写规范》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.