编码规范(华为)

高质量的代码需要注意以下几点:

1 排版

2 注释

3 标识符命名

4 可读性

5 变量、结构

6 函数、过程

7 可测性

8 程序效率

9 质量保证

10 代码编辑、编译、审查

11 代码测试、维护

12  宏

 

 

 

 

一.排版

1.   程序块要采用缩进风格编写,缩进的空格数为4个,函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求;对齐只使用空格键,不使用TAB键。

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

3.   一行程序以小于80字符为宜,不要写得过长。较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

4.   循环、判断等语句中若有较长的表达式或语句;函数或过程中的参数较长;则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

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

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

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

8.   在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。

 

二.注释

1.   一般情况下,源程序有效注释量必须在20%以上。

2.   说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。

3.   源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。

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

5.   边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。

6.   注释的内容要清楚、明了,含义准确,防止注释二义性。

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

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

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

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

11.  全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。

12. 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为公司对于C语言编码规范有着严格的要求。以下是一些主要的规范要求: 1. 命名规范:变量名和函数名应该具有描述性,使用小写字母和下划线,函数名应该以动词开头,变量名应该以名词开头。全局变量应该使用g_作为前缀。 2. 缩进和空格:使用4个空格作为缩进,不要使用制表符。二元操作符应该在两边都有一个空格,而一元操作符只应该在右边有一个空格。 3. 函数定义:函数应该具有清晰的接口和实现,接口应该在头文件中定义,实现应该在源文件中实现。每个函数应该有一个注释,描述其功能和输入输出。 4. 注释规范:注释应该用于解释代码的意图和逻辑,而不是复述代码。注释应该清晰、简洁,并保持与代码同步。 5. 条件语句和循环语句:每个条件语句和循环语句都应该使用大括号,即使只有一行代码。这样能够增加代码的可读性和可维护性。 6. 错误处理:每个可能出错的函数调用都需要进行错误处理,包括返回值检查、错误码处理和适当的恢复措施。 7. 全局变量和宏定义:全局变量应该尽量避免使用,而宏定义应该保持简洁和容易理解。 8. 文件结构:源文件应该按照功能模块进行划分,并按照一定的顺序组织,例如首先是包含的头文件、全局变量、函数声明和实现等。 总的来说,华为对C语言编码规范的要求主要是为了保证代码的可读性、可维护性和可移植性。遵循这些规范能够帮助开发人员写出高质量的代码,并提高整体开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值