读华为C语言编程规范(函数、头文件)

文档从头文件、函数、标识符、变量、宏、程序效率、注释、排版、表达式、代码编辑编译、可测性、安全性、字符串操作安全、整数安全、格式化输出安全、文件IO安全、单元测试、可移植性、编程规范等方面讲述了C编程时的注意事项;本记录将摘抄一部分内容学习。

代码总体规则:1、清晰;2、简洁;3、风格统一;

头文件:

原则:

1、适合放置接口的声明,不适合放置实现;

2、文件职责单一;

3、应向稳定方向发展;

规则:

1、每个.c文件都应有一个对应的.h文件,用于声明对外的公开接口;

2、禁止头文件循环依赖;

3、.c/.h文件禁止包含用不到的头文件;

4、头文件应当自包含;

5、总是编写内部#include保护符(#define保护)

6、禁止头文件定义变量;

7、只能通过包含头文件使用其它.c提供的接口,禁止.c中通过extern调用外部函数接口,变量;

8、禁止在extern "c"中包含头文件

函数

原则:

1、一个函数仅完成一件功能;

2、重复代码尽可能提炼成函数,可以带来维护成本的降低,降低编写时问题量;

规则:

1、避免函数过长,新增函数不超过50行(非空非注释行);

2、避免函数代码块嵌套过深,新增函数代码块嵌套深度不超过4层;

3、可重入函数尽量避免使用共享变量;若需要使用,则应通过互斥手段,(关中断、信号量)对其加以保护;

4、对参数的合法性检查,有调用者负责还是有接口函数负责,应在项目组/模块内应统一规定;缺省由调用者负责;

5、对函数的错误返回码要全面处理;

6、设计高扇入,合理扇出(小于7)的函数;公共模块中的函数及底层函数应有较高的扇入;


7、废弃代码(没有被调用的函数和变量)要及时清除;

建议:

1、函数不变参数使用const,易于理解/跟踪和分析爱,把const作为默认选项,在编译时虎对其进行检查,使代码更牢靠、安全;

2、函数应避免使用全局变量、静态局部变量和IO操作,不可避免的地方应集中处理;

3、检查函数所有非参数输入的有效性,如数据文件、公共变量等;

4、函数的参数个数不超过5个;

5、除打印函数外,不要使用可变长参函数;

6、在源文件范围内声明和定义的所有函数,除非外部可见,否则应该增加static关键字。



发布了44 篇原创文章 · 获赞 24 · 访问量 11万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览