CC语言代码编写规范.doc
- 文档编号:229988
- 上传时间:2022-10-07
- 格式:DOC
- 页数:49
- 大小:278.50KB
CC语言代码编写规范.doc
《CC语言代码编写规范.doc》由会员分享,可在线阅读,更多相关《CC语言代码编写规范.doc(49页珍藏版)》请在冰豆网上搜索。
Q/×××××××—××××
许继集团有限公司发布
××××-××-××实施
××××-××-××发布
C/C++语言代码编写规范
(征求意见稿)
Q/XJ××××—××××
Q/XJ
许继集团有限公司企业标准
I
Q/XJ××××—××××
目次
前言 III
1范围 1
2规范性引用文件 1
3术语和定义 1
4文件结构 1
4.1概述 1
4.2版权和版本的声明 1
4.3头文件的结构 2
4.4定义文件的结构 2
5程序的版式 3
5.1空行 3
5.2代码行 4
5.3代码行内的空格 5
5.4对齐 5
5.5长行拆分 6
5.6注释 8
6命名规则 13
6.1共性规则 13
6.2一般命名规则 14
7其它规则 15
7.1布尔变量与零值比较 15
7.2整型变量与零值比较 16
7.3浮点变量与零值比较 16
7.4指针变量与零值比较 16
附 录 A(资料性附录)良好的C/C++编程风格; 17
A.1良好的注释技巧 17
A.2表达式和基本语句 18
A.3变量、结构与数据类型 20
A.4常量 25
A.5函数 26
A.6宏 30
A.7程序效率 31
A.8可测性 35
A.9质量保证 38
A.10代码编辑、编译、审查 43
I
前言
本标准的附录A为资料性附录。
本标准由许继电气股份有限公司提出。
本标准由许昌继电器研究所归口。
本标准起草单位:
许继保护及自动化事业部、科研处、北京许继电气有限公司、珠海许继电气有限公司、深圳市许继昌达电网控制设备有限公司。
本标准主要起草人:
张新昌、包伟、杨智德、李江林、李旺、王若醒、刘彬、王伟东。
II
C/C++语言编程规范
1 范围
本标准规定了软件编程中程序文件的结构和编程风格方面的一些规则。
本标准适用于C/C++编程。
2 规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本标准。
GB/T5271.1-2000信息技术词汇第1部分:
基本术语
GB/T5271.7-1986数据处理词汇07部分:
计算机程序设计
GB/T5271.15-1986数据处理词汇15部分:
程序设计语言
3 术语和定义
GB/T5271.1-2000、GB/T5271.7-1986和GB/T5271.15-1986确立的术语和定义适用于本标准。
4 文件结构
4.1 概述
每个C/C++程序应至少包括两类文件。
一个文件用于保存程序的声明,称为头文件。
另一个文件用于保存程序的实现,称为定义文件。
C/C++程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀,C++程序的定义文件通常以“.cpp”为后缀(也有一些系统以“.cc”或“.cxx”为后缀)。
4.2 版权和版本的声明
/*
*Copyright(c)2001,许继集团有限公司
*Allrightsreserved.
*
*文件名称:
filename.h
*摘要:
简要描述本文件的内容
*
*版本号:
1.2作者:
作者(修改者)完成日期:
2003年7月20日
*
*版本号:
1.1作者:
作者(修改者)完成日期:
2003年5月20日
*版本号:
1.0作者:
作者(修改者)完成日期:
2003年2月20日
*/
图1 版权和版本的声明
版权和版本的声明位于头文件和定义文件的开头(见图1),主要内容有:
——版权信息;
——文件名称,摘要;
——当前版本号,作者/修改者,完成日期;
——版本历史信息。
4.3 头文件的结构
4.3.1 概述
头文件由三部分内容组成:
——头文件的版权和版本声明(见图1);
——预处理块;
——函数和类结构声明等。
若头文件名称为graphics.h,头文件的结构见图2。
//版权和版本声明见图1
#ifndef GRAPHICS_H //防止graphics.h被重复引用
#define GRAPHICS_H
#include
…
#include“myheader.h” //引用非标准库的头文件
…
voidFunction1(…); //全局函数声明
…
classBox //类结构声明
{
…
};
…//其它
#endif
图2 C/C++头文件的结构
4.3.2 为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。
4.3.3 用#include
4.3.4 用#include“filename.h”格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。
4.3.5 头文件中宜只存放“声明” 而不存放“定义”。
4.3.6 不提倡使用全局变量,不宜在头文件中出现externintvalue这类声明。
4.4 定义文件的结构
定义文件有三部分内容:
——定义文件的版权和版本声明(见图1);
——对一些头文件的引用;
——程序的实现体(包括数据和代码)。
若定义文件的名称为graphics.cpp,定义文件的结构见图3。
//版权和版本声明见图1
#include“graphics.h” //引用头文件
…
//全局函数的实现体
voidFunction1(…)
{
…
}
//类成员函数的实现体
voidBox:
:
Draw(…)
{
…
}
图3 C/C++定义文件的结构
5 程序的版式
5.1 空行
5.1.1 在变量声明之后、每个类声明之后和每个函数定义结束之后应加空行(见图4(左))。
5.1.2 在一个函数体内,逻辑上密切相关的语句之间应不加空行,其它地方应加空行分隔(见图4(右))。
//空行
voidFunction1(…)
{
…
}
//空行
voidFunction2(…)
{
…
}
//空行
voidFunction3(…)
{
…
}
//空行
while(condition)
{
statement1;
//空行
if(condition)
{
statement2;
}
else
{
statement3;
}
//空行
statement4;
}
图4 函数之间的空行(左),函数内部的空行(右)
5.2 代码行
5.2.1 一行代码宜只做一件事情,如只定义一个变量,或只写一条语句(见图5)。
5.2.2 if、for、while、do等语句应自占一行,执行语句不应紧跟其后。
不论执行语句有多少都应加‘{}’(见图5)。
intwidth; //宽度
intheight; //高度
intdepth; //深度
intwidth,height,depth;//宽度高度深度
x=a+b;
y=c+d;
z=e+f;
X=a+b;y=c+d;z=e+f;
if(width { dosomething(); } if(width for(initialization;condition;update) { dosomething(); } //空行 other(); for(initialization;condition;update) dosomething(); other(); 图5 风格良好的代码行(左),与风格不良的代码行(右) 5.2.3 尽可能在定义变量的同时初始化该变量。 若变量的引用处与其定义处相隔比较远,变量的初始化易被忘记。 若引用了未被初始化的变量,易导致程序错误。 示例: intwidth=10; //定义并初绐化width intheight=10; //定义并初绐化height intdepth=10; //定义并初绐化depth 5.3 代码行内的空格 voidFunc1(intx,inty,intz);//良好的风格 voidFunc1(intx,inty,intz);//不良的风格 if(year>=2000)//良好的风格 if(year>=2000)//不良的风格 if((a>=b)&&(c<=d))//良好的风格 if(a>=b&&c<=d)//不良的风格 for(i=0;i<10;i++)//良好的风格 for(i=0;i<10;i++)//不良的风格 for(i=0;I<10;i++)//过多的空格 x=a a: b;//良好的风格 x=a a: b;//不好的风格 int*x=&y;//良好的风格 int*x=&y;//不良的风格 array[5]=0;//不应写成array[5]=0; a.Function();//不应写成a.Function(); b->Function();//不应写成b->Function(); 图6 代码行内的空格 5.3.1 关键字之后应留空格。 如if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。 5.3.2 函数名之后应不留空格,紧跟左括号‘(’,以与关键字区别。 5.3.3 ‘(’后面应不留空格,‘)’、‘,’、‘;’前面应不留空格。 5.3.4 ‘,’之后应留空格,如Function(x,y,z)。 若‘;’不是一行的结束符号,其后应留空格,如for(initialization;condition;update)。 5.3.5 赋值操作符、比较操作符、算术操作符、逻辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CC 语言 代码 编写 规范