软件开发代码规范C语言Word文档下载推荐.docx

上传人:b****2 文档编号:14785887 上传时间:2022-10-24 格式:DOCX 页数:19 大小:204.51KB
下载 相关 举报
软件开发代码规范C语言Word文档下载推荐.docx_第1页
第1页 / 共19页
软件开发代码规范C语言Word文档下载推荐.docx_第2页
第2页 / 共19页
软件开发代码规范C语言Word文档下载推荐.docx_第3页
第3页 / 共19页
软件开发代码规范C语言Word文档下载推荐.docx_第4页
第4页 / 共19页
软件开发代码规范C语言Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

软件开发代码规范C语言Word文档下载推荐.docx

《软件开发代码规范C语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件开发代码规范C语言Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

软件开发代码规范C语言Word文档下载推荐.docx

3.4数据注释12

3.5代码注释12

第四章命名15

4.1通用命名规则15

4.2文件命名15

4.3类型命名15

4.4变量命名16

4.5常量命名17

4.6函数命名17

4.7枚举命名17

4.8宏命名18

第五章杂项19

文件修改记录

修改日期

版本

修改页码、章节、

条款

修改描述

作者

2011-4-29

0.1

创建初稿

周超

2011-5-11

0.11

3.3数据注释

4.3类型命名

4.4变量命名

4.6函数命名

1)修改3.4数据注释【规则

3-4-3】全局变量注释例子

2)在“4.3类型命名”、“4.4变量命名”、“4.6函数命名”中,增加对前缀、关键缩与'

词等可以适当全部大写的处理。

第一章原则

本文档的目的是提供一个公共的编码规范。

这个规范详细阐述在编码时要怎样写、不要怎样写,旨在提高代码的可读性、可维护性,

使代码易于管理,使所有人可以集中精力去实现内容,而非处理各种复杂的表现形式。

使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据模式匹配”规则推断各种符号的含义。

创建通用的、

必需的习惯用语和模式可以使代码更加容易理解。

虽然在某些情况下改变一些编程风格可能

会是好的选择,但我们还是应该遵循一致性原则,尽量不这样去做。

关键在于保持一致。

第二章排版

2.1空行

【规则2-1-1】在每个函数、结构体、枚举定义结束之后都要加空行。

【规则2-1-2】在一个函数体内,逻辑密切相关的语句之间不加空行,其它地方应加空行分隔。

structst1

//空行

{

while(condition)

};

statement^

//空行

enum

if(condition)

statement2;

}

};

else

voidFunction1(…)

statement3;

statement4;

voidFunction2(…)

函数之间的空行

函数内部的空行

【规则2-1-3】相对独立的程序块之间、变量说明之后必须加空行。

if(!

is_lock_card_succ)

...//programcode

GetLockPhonelnfo(&

st_lock_phone_info)

//空格

GetLockPhoneInfo(&

stlockphoneinfo);

不规范代码

规范代码

2.2代码行

【规则2-2-1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。

这样的代码容易阅读,并且方便于写注释。

【规则2-2-2]if、for、while、do等语句自占一行,执行语句不得紧跟其后。

不论执行语句有多少都要加{}。

这样可以防止书写失误。

intwidth,height,depth;

//宽度高度深度

intwidth;

//宽度

intheight;

//高度

intdepth;

//深度

X=a+b;

y=c+d;

z=e+f;

x=a+b;

if(width<

height)dosomething();

height){

dosomething();

}

for(initialization;

condition;

update)dosomething();

other();

update){

不规范代码规范代码

2.3代码行内的空格

说明:

空格的目的在于更清晰的代码。

【规则2-3-1]关键字之后要留空格。

const、static等关键字之后至少要留一个空格,否则无法辨析关键字;

if、for、while、switch等关键字之后应留一个空格再跟左括号('

以突出关键字。

【规则2-3-2]函数名之后不要留空格,紧跟左括号(’,以与关键字区别。

【规则2-3-3]('

向后紧跟,‘'

:

'

;

向前紧跟,紧跟处不留空格。

【规则2-3-4]:

之后要留空格,如Function(x,y,z)。

如果’;

不是一行的结束

符号,其后要留空格,女口for(initialization;

condition;

update)。

【规则2-3-5】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如

“=”“+=”“>

=”“<

='

”“+”“*”“%“&

&

、、‘“<

<

”,“等二元操作符的

前后应当加一个空格。

【规则2-3-6】一元操作符如“!

”“~”“++”--”、“&

”(地址运算符)等前后不

加空格。

【规则2-3-7】象“口”、”->

”这类操作符前后不加空格。

【建议2-3-1】对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格,如for(i=0;

i<

10;

i++)和if((a<

=b)&

(c<

=d))

voidFunc1(intx,inty,intz);

voidFunc1(intx,inty,intz);

if(year>

=2000)

if(year>

=2000)

if((a>

if((a>

=b)&

(c<

=d))

if(a>

=b&

c<

=d)

for(i=0;

i<

10;

i++)

for(i=0;

for(i=0;

i<

i++)

x=a<

b?

a:

b;

x=a<

b?

a:

b;

i++;

i++;

int*x=&

y;

int*x=&

array[5]=0;

array[5]=0;

a.Function();

a.Function();

b->

Function();

b->

Function();

良好风格不良风格

2.4对齐缩进

【规则2-4-1】程序块要采用缩进风格编写。

【规则2-4-2】对齐使用TAB键,TAB键宽度设置为4个空格。

应注意使用不同编辑器时,TAB键设置不同造成的排版不同;

应注意某些编辑器在识别、显示TAB键上存在问题;

最终排版应以在项目的主代码编辑器(如VC

SourceInsight等)中显示一致统一、整洁清晰为准。

SourceInsight中设置:

Options->

DoucumentOptions->

“TabWidth:

4”

【规则2-4-3】函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求。

【规则2-4-4】程序块的分界符(如‘{和‘}'

应各独占一行并且位于同一列,同时与

引用它们的语句左对齐。

在函数体的开始、类的定义、结构的定义、枚举的定义以及if、

for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

for(...){

for(...)

if(...)

voidexample_fun(void)

【规则2-4-5】预处理指令不需要缩进,总是从行首开始。

即使预处理指令位于缩进代

码块中,指令也应从行首开始。

//良好风格:

预处理指令均从行首开始

if(lopsided_score)

#ifDISASTER_PENDING//Correct--Startsatbeginningofline

DropEverything();

#ifNOTIFY

NotifyClient();

#endif

BackToNormal();

//不良风格:

缩进的预处理指令

#ifDISASTER_PENDING//Wrong!

The"

#if"

shouldbeatbeginningofline

#endif//Wrong!

Donotindent"

#endif"

2.5长行拆分

【规则2-5-1】代码行最大长度宜控制在100至110个字符以内。

代码行不要过长,

否则眼睛看不过来,也不便于打印。

【规则2-5-2】较长的语句(>110字符)要分成多行书写;

长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。

拆分出的新行要进行适

当的缩进,使排版整齐,语句可读。

【规则2-5-3】循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分•长

表达式要在低优先级操作符处划分新行,操作符放在新行之首。

【规则2-5-4】若函数或过程中的参数较长,则要进行适当的划分。

if((very_longer_variable1>

=very_longer_variable12)

(very_longer_variable3<

=very_longer_variable14)

(very_longer_variable5<

=very_longer_variable16)){

virtualCMatrixCMultiplyMatrix(CMatrixleftMatrix,

CMatrixrightMatrix);

for(very_longer_initialization;

very_longer_condition;

very_longer_update)

report

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1