C/C++开发编码规范

来源:微信公众号「编程学习基地」

函数、变量、类等命名

--------------------------------

函数、变量、类等命名

--------------------------------

  1. 新建文件夹和文件以小写字母开头, 多个单词采用驼峰命名法(xxYyyZzz).

  2. 局部变量,函数名以小写字母开头, 多个单词采用驼峰命名法(xxYyyZzz).

  3. 宏定义以下划线区分的多个全大写单词(XXX_YYY_ZZZ), 宏定义后的内容用括号括起来.

  4. 静态变量定义以小写g_开头,后面的命名采用驼峰命名法, 第一个单词小写字母开头(g_xxxYyyZzz).

  5. struct结构体名字以大写字母开头, 多个单词采用驼峰命名法(XxxYyyZzz).

  6. enum结构的名字以大写"E"开头紧随后面的第一个单词以大写字母开头, 多个单词采用驼峰命名法(EXxxYyyZzz).

  7. GNU项目如Linux内核开发, 仍采用GNU命名法.

  8. 标识符的命名要清晰, 明了, 有明确含义, 尽可能使用完整的单词或大家基本可以理解的缩写, 避免使人产生误解.

  9. 对于变量命名,禁止取单个字符(如i 、j 、k), 建议除了要有具体含义外, 还能表明其变量类型, 数据类型等,但i, j, k作局部循环变量是允许的.

  10. 应尽量用纯英语做命名, 不要用汉语拼音, 英汉混杂, 姓名, 数字或较奇怪的字符来定义标识符.

  11. 指针命名以小写p开始.

  12. 模块中函数, 结构命名中都要包含模块的名称或缩写.

  13. 类中数据成员 要以m_xxYyyZz 起头。

注释

-------------

注释

-------------

  1. 宏定义, 函数, 静态变量, 重要的局部变量必须增加中文注释.

  2. struct结构和其中的成员, enum结构和其中的成员必须增加中文注释, 取值范围,根据情况注释放在成员变量的右面或上面, 参考下面的样例.

  3. 函数中代码段必须增加注释.

  4. 程序中进行特殊处理或逻辑比较复杂的点必须增加注释.

编码规范

-------------

编码规范

-------------

  1. 缩进是4个空格, 如果使用TAB键, 请将编辑器TAB键转换为4个空格.

  2. 局部变量, 静态变量在声明时必须初始化.

  3. 尽量使用libc提供的防止越界的库函数.例如: strncpy, snprintf等.

  4. 函数入参必须进行合法性验证.

  5. 指针,数组下标在使用时必须进行合法性验证.

  6. 函数的退出点只能有一个, 在函数结尾, 函数中间不能存在return, 函数退出前销毁函数申请的内资源.

  7. 在使用goto时只能向下goto,禁止向上goto.

  8. 写完代码后必须去除新增代码的所有warning.

  9. 指针或句柄在释放时先验证合法性,如果是合法的在进行释放,指针释放后必须置NULL,句柄释放后必须置非法(-1).

  10. 换行时增加换行符"".

  11. 控制每行的长度不要过长, 起码不能超过100列,操作符在新行之首.

  12. 如果函数名+入参太长,请参考下面"fsDoClose()"函数写法.

  13. 每个模块要区分内部函数和外部函数,内部函数增加static描述.

  14. 宏在定义时,后面的值或表达式必须使用括号, 字符串除外.

  15. switch后必须有default.

  16. 程序运行过程中的异常必须输出调试信息.

  17. if和else后必须增加"{}", 且"{}"必须单独占一行, 不能因为后面只有一行就直接写.

  18. 程序中不要使用立即数, 如果必须使用请注释上原因和含义.

  19. 需要使用空行区分不同的代码段, 不能连着写下来.

  20. 程序中不能使用全局变量.

  21. 结构体变量不能和结构体名称类似.

  22. 条件语句比较复杂时, 应尽可能用括弧分离各表达式, 出现赋值语句必须添加括弧,与常量做"相等"比较时, 常量前置.if(NULL == (fp=(fopen(fileName, “rb”)))

  23. 操作符前后加空格, 逗号后面增加空格. i = 1 + 2; int a = 1, b = 2;

文件编码

-------------

文件编码

-------------

统一使用UTF-8格式

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DeRoy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值