C语言-编程规范

C语言-编程规范

摘录自《华为C语言编程规范2011-05-09》

总体原则

  1. 清晰第一,清晰性是易于维护、易于重构的程序必须具备的特征
  2. 简洁为美,简洁就是易于理解且易于实现
  3. 选择合适的编码风格,若重构时尽量保持原风格

头文件

  1. 头文件应当职责单一
  2. 禁止头文件循环依赖
  3. 禁止包含用不到的头文件
  4. 禁止在头文件中定义变量
  5. 禁止在.c中通过extern的方式使用外部函数接口、变量
  6. 禁止在extern C中包含头文件

函数

  1. 一个函数仅完成一个功能
  2. 避免函数过长,新增函数不超过50行
  3. 函数参数不超过五个
  4. 避免函数的代码块嵌套过深,新增函数的代码块嵌套不超过4层
  5. 可重入函数应避免使用共享变量,若需使用,应通过互斥手段
  6. 对参数合法性检查,统一规定由调用者负责还是函数内部检查,默认由调用者负责
  7. 函数不变参数使用const修饰
  8. 检查函数所有非参数输入的有效性,如数据文件、公共变量等
  9. 除打印类函数外,不使用可变长参数
  10. 在源文件内的函数,除非外部可见,否则应加上static修饰

变量

  1. 全局变量增加g_前缀
  2. 静态变量增加s_前缀
  3. 一个变量只有一个功能
  4. 数据结构功能单一,不要设计面面俱到的数据结构
  5. 不用或者少用全局变量,模块内的数据应通过接口来对外部开放
  6. 通讯过程中使用的数据结构,必须注意字节序
  7. 严禁使用未初始化的变量作为右值
  8. 尽量减少没有必要的数据类型默认转换和强制转换

宏和常量

  1. 用宏定义表达式时,要使用完备的括号
  2. 多条语句写成do while(0)的方式
  3. 使用宏时,不允许入参变化
  4. 除非必要,应尽可能使用函数代替宏
  5. 宏定义中尽量不使用return``goto``continue等改变程序流程的语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tangYi0_0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值