华为c语言编程规范_华为 LiteOs 编程规范(转)

这篇博客详细介绍了华为LiteOS的C语言编程规范,包括总体原则、目录结构、命名、排版与格式、注释、宏、头文件、数据类型、变量、函数和可移植性等各个方面。旨在提升代码的清晰度、可维护性和可移植性,遵循业界通用的编程标准。文章还特别强调了注释的重要性,要求注释清晰、避免二义性,并提供了具体的代码示例以展示正确的编程风格。
摘要由CSDN通过智能技术生成

版权说明:此编程规来源于华为LiteOs 编程规范(https://gitee.com/LiteOS/LiteOS/tree/master/),供读者学习参考使用。

总体原则

  • 清晰,易于维护、易于重构

  • 简洁,易于理解,并且易于实现

  • 风格统一,代码整体风格保持统一

  • 通用性,遵循业界通用的编程规范

目录结构

建议将工程按照功能模块划分子目录(可参考LiteOS的功能模块划分),子目录再定义头文件和源文件目录。

命名

  • 使用驼峰风格进行命名,此风格大小写字母混用,不同单词间通过单词首字母大写来分开,具体规则如下:

类型 命名风格 形式
函数,自定义的类型 大驼峰,或带有模块前缀的大驼峰 AaaBbb, XXX_AaaBbb
局部变量,函数参数,宏参数,结构体成员,联合体成员 小驼峰 aaaBbb
全局变量 带'g_'前缀的小驼峰 g_aaaBbb
宏,枚举值 全大写并下划线分割 AAA_BBB
内核头文件中防止重复包含的宏变量 带'_LOS'前缀和'H'后缀,中间为大写模块名,以下划线分割 _LOS_MODULE_H
  • 全局函数、全局变量、宏、类型名、枚举名的命名,应当准确描述并全局唯一

  • 在能够准确表达含义的前提下,局部变量,或结构体、联合体的成员变量,其命名应尽可能简短

  • LiteOS的对外API使用LOS_Module_Func的方式,如果有宾语采用前置的方式,比如:

LOS_TaskCreate

LOS_SwtmrStart

LOS_SemPend

  kernel目录下内部模块间接口使用OsModuleFunc的方式,比如:

OsTaskScan

OsSwtmrStart

arch目录需要给上层模块提供Low Level接口,这部分接口采用ArchModuleFunc的方式。其他情况可采用ModuleFunc的方式。

排版与格式

  • 程序块采用缩进风格编写,使用空格而不是制表符('\t')进行缩进,每级缩进为4个空格

  • 采用K&R风格作为大括号换行风格,即函数左大括号另起一行放行首,并独占一行,其他左大括号跟随语句放行末, 右大括号独占一行,除非后面跟着同一语句的剩余部分,如if语句的else/else if或者分号,比如:

structMyType { // 左大括号跟随语句放行末,前置1个空格

...

};               // 右大括号后面紧跟分号

intFoo(int a)

{               // 函数左大括号独占一行,放行首

if (a > 0) { // 左大括号跟随语句放行末,前置1个空格

...

} else {     // 右大括号、"else"、以及后续的左大括号均在同一行

...

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、清晰第一 清晰性是易于维护、易于重构的程序必需具备的特征。代码首先是给人读的,好的代码应当可以像文章一样发声朗诵出来。 目前软件维护期成本占整个生命周期成本的40%~90%。根据业界经验,维护期变更代码的成本,小型系统是开发期的5倍,大型系统(100万行代码以上)可以达到100倍。业界的调查指出,开发组平均大约一半的人力用于弥补过去的错误,而不是添加新的功能来帮助公司提高竞争力。 一般情况下,代码的可阅读性高于性能,只有确定性能是瓶颈时,才应该主动优化。 2、简洁为美 简洁就是易于理解并且易于实现。代码越长越难以看懂,也就越容易在修改时引入错误。写的代码越多,意味着出错的地方越多,也就意味着代码的可靠性越低。因此,我们提倡大家通过编写简洁明了的代码来提升代码可靠性。 废弃的代码(没有被调用的函数和全局变量)要及时清除,重复代码应该尽可能提炼成函数。 3、选择合适的风格,与代码原有风格保持一致 产品所有人共同分享同一种风格所带来的好处,远远超出为了统一而付出的代价。在公司已有编码规范的指导下,审慎地编排代码以使代码尽可能清晰,是一项非常重要的技能。 如果重构/ / 修改其他风格的代码时,比较明智的做法是根据 现有 代码 的 现有风格继续编写代码,或者使用格式换工具进行换成公司内部风格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值