博客
关于我
C编程规范整理
阅读量:499 次
发布时间:2019-03-07

本文共 2385 字,大约阅读时间需要 7 分钟。

C/C++编码规范指南

内联函数的使用规范 内联函数适用于函数体较小的情况,能够提升目标代码效率。对于包含循环或switch语句的函数,建议谨慎内联。若内联函数被多个源文件使用,需定义在.h头文件中。

编译器对内联函数请求可以选择忽略,建议保持最大限度的可移植性。

函数参数顺序 函数定义时,输入参数应放在前端,输出参数放在后面。对于输入/输出参数(如类/结构体变量),无需遵循顺序。

文件包含顺序 包含文件应遵循以下顺序:C库、C++库、其他库的.h文件、项目内的.h文件。

函数长度建议 短小函数更容易维护。对于超过40行的函数,可以考虑分割。

const使用建议 在任何可能的情况下都应该使用const。

类型命名规范 类型命名每个单词以大写字母开头,无下划线:MyExcitingClass, MyEnumValue。类型命名符合一致约定。

变量命名规范 变量名应全小写,单词间以下划线相连,类成员变量名以下划线结尾:my_exciting_var, my_member_var。

全局变量命名 全局变量可用g_或其他易区分标志为前缀。

函数命名规范 函数名应首字母大写,各单词首字母大写,无下划线:AddTableEntry, DeleteUrl。

存取函数命名 函数名应与存取变量名匹配:setMyMemberVar。

内联函数可使用小写字母,例如在循环中调用小写名称的函数。

枚举命名规范 枚举值应全部大写,单词间下划线相连:MY_VALUE。枚举名可混合大小写:MyErrors.

宏命名规范 宏命名应全部大写,各单词下划线相连。

注释要求 注释应放在代码上方或右侧,不能放在下方。上方注释需与上方代码隔开,并保持相同缩进。注释语言选择中文,除非能用流利英文表达。

文件头注释 文件头、函数头、全局常量及类型定义应采用doxygen格式注释。

代码排版 相对独立的程序块之间需加空行。多语句不可在同一行,需分行写出。

断言使用 断言旨在验证内部假设,不用于检查运行时错误。

字符串处理 所有字符串需以NULL结尾。

注释位置示例 /*注释内容 */ 或 // 单行注释

型注释示例 /**

  • @brief 功能描述
  • @param param 参数说明 */

代码格式要求 保持一致的缩进和格式化,注释示例请参考上述格式。

注释示例 /* 处理完成一个case后加注释 *

  • 为下一个case做准备 */

避免使用缩写,除非是业界通用缩写。

注释语言选择 为中英文兼用的项目,建议优先使用中文。需根据团队结构确定注释语言。

类型命名示例 /**

  • @typedef TypedefName 名义空间中类、结构体等使用相同格式
  • @enumMyErrors 枚举类型 */ 示例代码实现

当然,编程规范的遵守不仅是代码层面的标准化,更是团队协作、代码维护的基石。代码美观、可读性为加强产品质量奠定基础,对于长期项目开发具有重要意义。

以下是优化后的文章内容:

C/C++编码规范指南

内联函数的使用规范 内联函数适用于函数体较小的情况,能够提升目标代码效率。对于包含循环或switch语句的函数,建议谨慎内联。若内联函数被多个源文件使用,需定义在.h头文件中。

编译器对内联函数请求可以选择忽略,建议保持最大限度的可移植性。

函数参数顺序 函数定义时,输入参数应放在前端,输出参数放在后面。对于输入/输出参数(如类/结构体变量),无需遵循顺序。

文件包含顺序 包含文件应遵循以下顺序:C库、C++库、其他库的.h文件、项目内的.h文件。

函数长度建议 短小函数更容易维护。对于超过40行的函数,可以考虑分割。

const使用建议 在任何可能的情况下都应该使用const。

类型命名规范 类型命名每个单词以大写字母开头,无下划线:MyExcitingClass, MyEnumValue。类型命名符合一致约定。

变量命名规范 变量名应全小写,单词间以下划线相连,类成员变量名以下划线结尾:my_exciting_var, my_member_var。

全局变量命名 全局变量可用g_或其他易区分标志为前缀。

函数命名规范 函数名应首字母大写,各单词首字母大写,无下划线:AddTableEntry, DeleteUrl。

存取函数命名 函数名应与存取变量名匹配:setMyMemberVar。

内联函数可使用小写字母,例如在循环中调用小写名称的函数。

枚举命名规范 枚举值应全部大写,单词间下划线相连:MY_VALUE。枚举名可混合大小写:MyErrors.

宏命名规范 宏命名应全部大写,各单词下划线相连。

注释要求 注释应放在代码上方或右侧,不能放在下方。上方注释需与上方代码隔开,并保持相同缩进。注释语言选择中文,除非能用流利英文表达。

文件头注释 文件头、函数头、全局常量及类型定义应采用doxygen格式注释。

代码排版 相对独立的程序块之间需加空行。多语句不可在同一行,需分行写出。

断言使用 断言旨在验证内部假设,不用于检查运行时错误。

字符串处理 所有字符串需以NULL结尾。

注释位置示例 /*注释内容 */ 或 // 单行注释

类型命名示例 /**

  • @typedef TypedefName 名义空间中类、结构体等使用相同格式
  • @enumMyErrors 枚举类型 */ 代码格式要求 保持一致的缩进和格式化,注释示例请参考上述格式。

注释示例 /* 处理完成一个case后加注释 *

  • 为下一个case做准备 */

避免使用缩写,除非是业界通用缩写。

注释语言选择 为中英文兼用的项目,建议优先使用中文。需根据团队结构确定注释语言。

代码模板示例 /**

  • @brief 功能描述
  • @param param 参数说明
  • @return 返回值说明 */

转载地址:http://kbscz.baihongyu.com/

你可能感兴趣的文章
nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
查看>>
nginx总结及使用Docker创建nginx教程
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
查看>>
nginx日志分割并定期删除
查看>>
Nginx日志分析系统---ElasticStack(ELK)工作笔记001
查看>>
Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
查看>>
nginx最最最详细教程来了
查看>>
Nginx服务器---正向代理
查看>>
Nginx服务器上安装SSL证书
查看>>
Nginx服务器的安装
查看>>
Nginx模块 ngx_http_limit_conn_module 限制连接数
查看>>
nginx添加模块与https支持
查看>>
Nginx用户认证
查看>>
Nginx的location匹配规则的关键问题详解
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>
Nginx的使用总结(三)
查看>>
Nginx的使用总结(二)
查看>>
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>