华为之代码规范

/*

声明:

本博客参考资料:华为代码综合规范文档 - 百度文库 (baidu.com)

以下文章摘录了我自己平时写代码没有注意到的点。

*/

华为之代码规范

一、代码排版规定

1.程序块要采用缩进风格编写,缩进空格数为4个。

2.相对独立程序块之间、变量阐明之后必要加空行。

3.较长语句(>80字符)要提成多行书写(在循环、判断等语句中的较长表达或者语句也是如此),长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出新行要进行恰当缩进,使排版整洁,语句可读。

4.若函数或者过程中参数过长,要进行恰当划分。

5.不允许把各种短语句写在一行中,即一行只写一条语句。

6.if, for, do, while, case, switch, default等语句自占一行,且无论语句多少都要加花括号{}。

7.对齐只使用空格键,不使用TAB键。

8.函数或过程开始、构造定义及循环、判断等语句中的代码都要采用缩进风格,case语句下状况解决语句也要遵从语句缩进规定。

9.程序块分界符(如C/C++语言大括号'{'和'}')应各独占一行并且位于同一列,同步与引用它们语句左对齐。在函数体开始、类定义、构造定义、枚举定义以及if、for、do、while、case、switch、case语句中程序都应该采用上述缩进方式。如下是正确的:

if条件)
{
    ...
}
else
{
    ...
}

10.两个以上核心字、变量、常量进行对等操作时,它们之间操作符之前、之后或者先后要加空格;进行非对等操作时,如果是关系密切纪实操作符(如-->),后不应加空格。

二、注释规范

1.普通状况下,源程序有效注释量必须在20%以上。

2.注释内容要清晰、明了,含义精确,防止注释二义性。

3.避免在注释中使用缩写。

4.注释应与其描述代码相近,对代码注释应放在其上方或右方(对单条语句注释)相邻位置,不可放在下面,如放于上方则需与其上面代码空行隔开。

5.对于所有有物理含义的变量、常量,如果其命名不是充分自注释,在声明时都必须加以注释,阐明其物理含义。变量、常量、宏注释应放在其上方相邻位置或右方。

6.数据构造声明(涉及数组、构造、类、枚举等),如果其命名不是充分自注释,必要加以注释。对数据构造注释应放在其上方相邻位置,不可放在下面;对构造中每个域注释放在此域右方。

7.全局变量要有详细注释,涉及对其功能、取值范畴、哪些函数或过程存取它以及存取时注意事项等阐明。

8.注释应与所描述内容进行同样缩排。

9.将注释与其上面代码用空行隔开。

10.对变量定义和分支语句(条件分支、循环语句等)必要编写注释。

11.避免在一行代码或者表达式中间插入注释。

12.通过对函数或过程、变量、构造等对的命名以及合理地组织代码构造,使代码成为自注释。

13.在代码功能、意图层次上进行注释,提供有用、额外信息。

14.在程序块结束行右方加注释标记,以表明某程序块结束。

15.阐明性文献头部应进行注释,注释必要列出:版权阐明、版本号、生成日期、作者、内容、功能、与其他文献关系、修改日记等,头文献注释中还应有函数功能简要阐明。

16.源文献头部应进行注释,列出版权阐明、版本号、生成日期、作者、模板功能、重要函数及其功能、修改日记等。

17.函数头部应进行注释,列出:函数目/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。

18.注释格式尽量统一,建议使用/*......*/。

19.注释应考虑程序易读及外观排版因素,使用语言若是中、英兼有,建议多使用中文,除非能用非常流利精确英文表达。

三、标记符命名规范

1.标记符命名要清晰、明了,有明确含义,同步使用完整单词或人们基本可以理解的缩写,避免使人产生误解。

如下单词缩写可以被人们基本承认:

temp 可缩写为 tmp; flag 可缩写为 flg

2.命名中若使用特殊商定或缩写,要有注明阐释。

3.自己特有命名风格,要自始至终保持一致,不可来回变化。

4.对于变量命名,禁止取单个字符(如i, j, k, ...),建议除了要有详细含义外,还能表明其变量类型、数据类型等,但i, j, k作局部循环变量是容许的。

5.变量命名要与所使用的系统风格保持一致。

6.在同一软件产品内,应规划好接口某些标记符命名,防止编译、链接时产生冲突。

7.用对的反义词组命名具备互斥意义变量或相反动作函数等。

四、可读性

1.不要使用难懂技巧性很高的语句。

posted @ 2021-09-27 22:48  xiaomeiman  阅读(1670)  评论(0编辑  收藏  举报