编程规范是程序员的基本功,代码是程序员的表达方式,编程规范是程序员的修养。
软件开发过程。
模块:从系统中分解出来,独立完成部分功能。
模块的组成:- 数据:模块的核心,”我是谁“
- 头文件:用来暴露接口,”我能做什么“
- 算法:逻辑实现,用来处理数据,”我是怎么做的“
编译过程
- 预处理:宏替换、条件编译、头文件插入、特殊符号处理;
- 编译优化:语义分析、中间代码生成、代码优化;
- 汇编过程:将汇编语言翻译成机器码;
- 链接过程:链接成一个可执行文件,或者是二进制固件。
设计层面的三大原则
- 头文件只放接口声明,不放具体实现
- 头文件职责单一
- 头文件应该向稳定方向包含
编码层面的八大规则
- 只能通过头文件包含的方式引用接口,禁止extern
- 禁止头文件定义变量
- 禁止extern ”C“包含头文件
- 总是编写内部的#include保护符
- 头文件应该自包含
- 禁止头文件循环依赖
- 禁止包含不需要的头文件
- 每一个c文件应该有一个同名的h文件,用来声明对外接口
函数的编码规范
- 圈复杂度小于5
- 职责单一
- 参数不超过3个
- 避免重复
- 避免重入问题
- 不要返回局部变量