- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CMMI ML-3 v1.2
C/C++语言编码规范(TS)
文件编号: TS-G-05
编制 日期 审核 日期 批准 日期
变更记录
版本号 变更日期 变更类型 变更人 变更摘要 备注
目 录
变更记录 2
1. 排版规范 4
1.1. 缩进 4
1.2. 空行 4
1.3. 分行 4
1.4. 分界符 5
1.5. 空格 6
1.6. 宏定义 6
1.7. 类定义 6
1.8. 其他 7
2. 命名规范 8
2.1. 原则 8
2.2. 命名注释 8
2.3. 命名风格统一 8
2.4. 变量命名 9
3. 变量结构 10
3.1. 赋值检查 10
3.2. 变量初始化 10
3.3. 单一功能结构体 10
3.4. 结构中的元素个数 11
4. 函数过程 13
4.1. 避免直接使用函数参数 13
4.2. 简单功能函数 14
4.3. 避免多参数函数 14
4.4. 参数检查 15
4.5. 重复代码 16
5. 注释规范 17
5.1. 文件注释 17
5.2. 函数注释 18
5.3. 代码注释 18
5.4. 注释位置 19
排版规范
缩进
程序块要采用缩进风格编写,缩进的长度为4个空格,方式为IDE自动缩进或TAB缩进。一行程序以小于65字符为宜,不要写得过长。对于由开发工具自动生成的代码可以有不一致。函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进风格 。
空行
相对独立的程序块之间、变量说明之后必须加空行。
示例:
if (!valid_ni(ni))
{
... // program code
}
//空行
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
分行
当语句超出或即将超出规定的列宽,遵循以下规则进行换行:
在逗号后换行。
在运算符,关键字前换行。
选择在较高级别(higher-level)的运算符处断开。
新的一行应该与上一行同一级别表达式的开头处对齐。
如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格。
规则1优先于规则2。
当以上规则会导致代码混乱的时候自己采取更灵活的换行规则。
示例:
perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN
+ STAT_SIZE_PER_FRAM * sizeof( _UL );
act_task_table[frame_id * STAT_TASK_CHECK_NUMBER
+ index].occupied
= stat_poi[index].occupied;
act_task_table[taskno].duration_true_or_false
= SYS_get_sccp_statistic_state( stat_item );
分界符
程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
示例:
for (...)
{
... // program code
}
if (...)
{
... // program code
}
else
{
... // program code
}
void example_fun( void )
{
... // program code
}
空格
1. 关键字后需要有空格
2. 运算符前后要有空格
3. 功能段之间可以适当使用空格
4. 要遵循手写英语中标点符号的规范,’ , ’和’ ; ’后要加空格,’ ( ’除外,
例如:
background = new Color(red, green, blue);
在操作符前后可以使用空格使代码增强代码可读性。
对于与英文意义不同的操作符不遵循上述规则,例如:’.’和’-’后不用空格。
宏定义
在宏定义中,尽量使用下面结构
#ifndef
#define
#endif
类定义
每个类定义中都要依次包含‘ public’, ‘ protected ’, ‘
您可能关注的文档
- 《机械CADCAMa》教学大纲.doc
- 《计算机图形学》教学参考书目.doc
- 《离散数学课程实验》大纲.doc
- 《模流分析基础入门》1.doc
- 《软件工程》复习题1和答案.doc
- 《软件工程练习题及参考答案》.doc
- 《商务网站模拟与实现》模板(适用09级信管&电商).doc
- 《数据结构01》复习题_答案.doc
- 《数据结构02》复习题及答案.doc
- 《数据结构》(开放本科)课程教学一体化设计方案.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 考古与文物 讲座1-3考古学的萌芽与形成.ppt VIP
- 2024年贵州省兴义市中考物理综合提升测试卷【名师系列】附答案详解.docx VIP
- 2025年中国托育服务行业白皮书:托育机构运营与管理.docx
- 民生银行集团客户信贷风险管理:挑战与应对策略.docx
- 《护理伦理学》单元三 护理人际关系伦理教案 教案.docx VIP
- 2024年中考数学压轴题型(重庆专用)专题02 几何填空题-重庆中考压轴题(学生版).docx VIP
- 2022初一七年级年级期末家长会总结简报《家园共育 携手共进》.docx VIP
- (九上数学期末试题)云南省腾冲市2017届九年级上学期期末考试数学试题.doc VIP
- 2025年量子计算技术在人工智能领域的创新与发展报告.docx
- 工伤赔偿项目一览表.docx VIP
文档评论(0)