c++编程规范

1.检查函数输入的有效性。

2.如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。

3.用malloc或new申请后应该立即检查指针是否为NULL。

4.指针的申请和释放必须配对。指针释放后应该立即设置为NULL,避免野指针。

5.宏定义要用括号。

6.指针判别是否为空直接和NULL比较,而不是用!。

7.代码错误后可用断言宣布错误,并终止。

8.以同样的顺序定义和初始化变量。

9.使用固定大小的存储空间时,对存入的元素数量进行范围检查。

10.正式软件产品中应把断言及其他调测代码去掉。

11.全局变量使用static定义,访问全局变量使用get()和set(),尽量避免使用extern。

12.较长的语句要分成多行,换行以低优先级运算符开头并缩进。

13.避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。

15.避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。

16.严禁使用未经初始化的变量作为右值。

17. 路径使用反斜线“/”,而不是斜线“\”,“/”能被不同的平台识别。

18.所有头文件都要包含

#ifndef FOO_BAR_BAZ_H_

#define FOO_BAR_BAZ_H_

...

#endif // FOO_BAR_BAZ_H_

防止被多重包含。

  1. 整数用 0 , 实数用 0.0,指针用NULL,字符 (串) 用 '\0',结构体用memset。
  2. 文件名要全部小写, 可以包含下划线 ( _ ) 或连字符 ( - )
  3. 类型名称的每个单词首字母均大写, 不包含下划线。
  4. 变量 (包括函数参数) 和数据成员名一律小写, 单词之间用下划线连接。
  5. 声明为 constexpr 或 const 的变量, 或在程序运行期间其值始终保持不变的, 命名时以 “k” 开头, 大小写混合。
  6. 函数全部使用大驼峰命名风格: MyExcitingFunction() , MyExcitingMethod()
  7. 枚举的命名应当和 常量 或 宏 一致: kEnumName 或是 ENUM_NAME .
  8. 宏命名: MY_MACRO_THAT_SCARES_SMALL_CHILDREN。
  9. 只使用空格, 每次缩进 2 个空格。
  10. 关键字 if 和 else 另起一行。
  11. 垂直留白越少越好. 两个函数定义之间的空行不要超过 2 , 函数体首尾不要留空行, 函数体中也不要随意添加空行。
  12. 将相似的声明放在一起, 将 public 部分放在最前。
  13. 函数的参数顺序为: 输入参数在先, 后跟输出参数。
  14. 所有按引用传递的参数必须加上 const。
  15. 尽可能用 sizeof(varname) 代替 sizeof(type)
  16. 每个类的定义都要附带一份注释, 描述类的功能和用法, 除非它的功能相当明显.

  17.常量都用宏定义替代

  18.中间变量太多,尽量减少数据的来回倒腾,容易出错

  19.一行的log奇长无比,建议到达一定长度加\n

  20.多写注释

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值