- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前 言
编写本标准的目的是为了统一公司C/C++语言的风格,提高软件代码的可读性、可靠性和可重用性,从而提高生产效率,降低成本,保证软件产品的质量。
本规范适用于公司所有用C/C++语言编制的软件源程序,同时考虑到公司的实际情况,本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,则可以根据实际情况选择执行,但在同一个项目中必须保持一致。本规范的示例都以C/C++语言描述。
自本标准实施之日起,以后新编写的代码均应执行本标准。若有用户要求,以用户要求为准。
目 录
前 言 1
1 基本原则 3
2 文件结构 4
2.1 版权和版本的声明 4
2.2 头文件的结构 4
2.3 定义文件的结构 5
3 程序的版式 6
3.1 空行 6
3.2 代码行 6
3.3 代码行内的空格 6
3.4 对齐 7
3.5 长行拆分 8
3.6 修饰符的位置 9
3.7 注释 9
3.8 类的版式 9
4 命名规则 11
5 表达式和基本语句 13
5.1 复合表达式 13
5.2 if 语句 13
5.3 for 语句的循环控制变量 13
5.4 switch语句 13
6 常量 14
6.1 const 与 #define的比较 14
6.2 常量定义规则 14
7 函数设计 15
7.1 参数的规则 15
7.2 返回值的规则 15
7.3 函数内部实现的规则 15
7.4 其它建议 15
7.5 使用断言 15
基本原则
基本原则为编程时应该坚持的指导思想。
【原则1】保持代码的简明清晰,避免过分的编程技巧。
【原则2】所有的代码尽量遵循ANSI C标准。
【原则3】编程时首先达到正确性,其次考虑效率。
【原则4】避免或少用全局变量。
【原则5】尽量避免使用GOTO语句。
【原则6】尽可能重用、修正老的代码。
文件结构
版权和版本的声明
版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:
(1)版权信息。
(2)文件名称,标识符,摘要。
(3)当前版本号,作者/修改者,完成日期。
(4)版本历史信息。
/*
* Copyright (c) 2001,公司名称
* All rights reserved.
*
* 文件名称:filename.h
* 文件标识:见配置管理计划书
* 摘 要:简要描述本文件的内容
*
* 当前版本:1.1
* 作 者:输入作者(或修改者)名字
* 完成日期:2001年7月20日
*
* 取代版本:1.0
* 原作者 :输入原作者(或修改者)名字
* 完成日期:2001年5月10日
*/
示例1-1 版权和版本的声明
头文件的结构
头文件由三部分内容组成:
(1)头文件开头处的版权和版本声明(参见示例1-1)。
(2)预处理块。
(3)函数和类结构声明等(参见示例1-2)。
【规则1-2-1】为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。
【规则1-2-2】用 #include filename.h 格式来引用标准库的头文件。
【规则1-2-3】用 #include “filename.h” 格式来引用非标准库的头文件。
【建议1-2-1】头文件中只存放“声明”而不存放“定义”
【建议1-2-2】不提倡使用全局变量,尽量不要在头文件中出现象extern int value 这类声明。
// 版权和版本声明见示例1-1,此处省略。
#ifndef GRAPHICS_H // 防止graphics.h被重复引用
#define GRAPHICS_H
#include math.h // 引用标准库的头文件
…
#include “myheader.h” // 引用非标准库的头文件
…
void Function1(…); // 全局函数声明
…
class Box // 类结构声明
{
…
};
#endif 示例1-2 C++/C头文件的结构
定义文件的结构
定义文件有三部分内容:
定义文件开头处的版权和版本声明(参见示例1-1)。
对一些头文件的引用。
程序的实现体。
定义文件的结构参见示例1-3。
// 版权和版本声明见示例1-1,此处省略。
#include “graphics.h” // 引用头文件
…
// 全局函数的实现体
void Function1(…)
{
…
}
// 类成员函数的实现体
void Box::Draw(…)
{
…
} 示例1-3 C++/C定义文件的结构
程序的版式
版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。
空行
【规则2-1-1】在每个类声明之后、每个函数
文档评论(0)