读华为C语言编程规范(函数、头文件)
来源:互联网 发布:电脑有声小说软件 编辑:程序博客网 时间:2024/05/22 00:43
文档从头文件、函数、标识符、变量、宏、程序效率、注释、排版、表达式、代码编辑编译、可测性、安全性、字符串操作安全、整数安全、格式化输出安全、文件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关键字。
- 读华为C语言编程规范(函数、头文件)
- 华为C语言编程规范 函数、过程
- 华为C语言编程规范(7)—函数、过程
- 读华为C语言编程规范(标识符、变量)
- 华为C语言编程规范
- 华为C语言编程规范
- 华为C语言编程规范—函数、过程
- 【C语言】编程规范——头文件
- 华为C语言编程规范(3)—注释
- 华为C语言编程规范(2)—排版
- 华为C语言编程规范(4)—标识符命名
- 华为C语言编程规范(5)—可读性
- 华为C语言编程规范(6)—变量、结构
- 华为C语言编程规范(8)—程序效率
- 华为C语言编程规范(9)—质量保证
- 华为C语言编程规范(3)—注释
- 华为C语言编程规范(4)—标识符命名
- 华为C语言编程规范(5)—可读性
- 湖南房卡麻将客户端/服务器端完整源码及编译教程
- 算法导论 思考题 7-2
- CSS 可上下伸缩的PANEL
- iOS应用打包提交AppStore
- 第二十四章 CentOS 系统配置工具: setup
- 读华为C语言编程规范(函数、头文件)
- jQuery.extend 函数详解
- Android开发之strings.xml文件显示特殊符号
- python的os.path.join()参数是绝对路径的问题
- 关于iframe取值问题以及google浏览器测试
- java基本数据类型传递与引用传递区别详解
- 算法导论学习(三)——数据结构【待续】
- 第一章 Linux 有啥功能
- LayoutInflater分析