《[免费下载 c语言深度解剖[1]》

下载本书

添加书签

[免费下载 c语言深度解剖[1]- 第24节


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!


生入公司后仍要进行编码风格的教育。我接触过很多学生,发现他们由于平时缺乏这种意识,
养成了不好的习惯,导致很难改正过来。代码没有注释,变量、函数等命名混乱,过两天自
己都看不懂自己的代码。下面是一些我见过的比较好的做法,希望读者能有所收获。

【规则6…1】每一个函数都必须有注释,即使函数短到可能只有几行。头部说明需要包
含包含的内容和次序如下: 


/************************************************************************ 


* 
Function 
Name 
: 
nucFindThread 
* 
CreateDate 
: 
2000/01/07 
* 
Author/Corporation 
: 
yourname/yourpanyname 
* 
* 
Description 
: 
Findaproperthreadinthreadarray。 
* 
If 
it’sanewthensearchanempty。 
* 
* 
Param 
: 
ThreadNo: 
someParamdescription 
* 
ThreadStatus: 
someParam 
description 
* 
* 
ReturnCode 
: 
ReturnCodedescription;eg: 
ERROR_Fail: 
not 
find 
a 
thread 
ERROR_SUCCEED:found 
* 


* 
Global 
Variable 
: 
DISP_wuiSegmentAppID 
* 
FileStaticVariable 
: 
naucThreadNo 
* 
FunctionStaticVariable 
: 
None 
* 
* 
Revision 
History 
* 
No。 
Date 
Revised 
by 
Item 
Description 
* 
V0。5 
2008/01/07 
your 
name 
*********************/ 
staticunsignedcharnucFindThread(unsigned charThreadNo;unsigned 
char 
ThreadStatus) 
{ 
************************************************(…) ***(…) 
… 


【规则6…2】每个函数定义结束之后以及每个文件结束之后都要加一个或若干个空行。
例如: 


/************************************************************************ 


* 
……… 
* 
Function1 
Description 
* 
……… 
************************************************************************/ 
voidFunction1(……) 
{ 
… 
} 


//Blank 
Line 


/************************************************************************ 


* 
……… 
* 
Function2 
Description 
* 
……… 
************************************************************************/ 
voidFunction2(……) 
{ 
… 
} 


//BlankLine 


/************************************************************************ 


* 
……… 
* 
Function3 
Description 

* 
……… 
************************************************************************/ 
voidFunction3(……) 
{ 
… 
} 


//BlankLine

【规则6…3】在一个函数体内,变量定义与函数语句之间要加空行。
例如: 


/************************************************************************ 


* 
……… 
* 
Function 
Description 
*……… 
************************************************************************/ 
voidFunction1() 
{ 
int 
n; 


//Blank 
Line 
statement1 
……。 




【规则6…4】逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。
例如: 


//Blank 
Line 


while 
(condition) 
{ 
statement1; 


//BlankLine 


if(condition) 
{ 
statement2; 


} 
else 
{ 
statement3; 


} 
//BlankLine 
statement4 


【规则6…5】复杂的函数中,在分支语句,循环语句结束之后需要适当的注释,方便区
分各分支或循环体 


while 
(condition) 
{ 
statement1; 


if(condition) 


{ 
for(condition) 
{ 


Statement2; 


}//end 
“for(condition)” 
} 
else 
{ 



statement3; 
}//”end 
if 
(condition)” 


statement4 
}//end 
“while(condition)”

【规则6…6】修改别人代码的时候不要轻易删除别人的代码,应该用适当的注释方式,
例如: 


while 
(condition) 
{ 
statement1; 


////////////////////////////////////// 
//your 
name 
; 
2008/01/07delete 
//if 
(condition) 
//{ 
// 
for(condition) 
// 
{ 
// 
Statement2; 
// 
} 
//} 
//else 
//{ 
// 
statement3; 
//} 
//////////////////////////////////////// 


/////////////////////////////////////// 
//yourname;2000/01/07 
add 
… 
new 
code 
… 
/////////////////////////////////////// 


statement4 


【规则6…7】用缩行显示程序结构,使排版整齐,缩进量统一使用 
4个字符(不使用 
TAB
缩进)。

每个编辑器的TAB键定义的空格数不一致,可能导致在别的编辑器打开你的代码乱成一
团糟。

【规则6…8】在函数体的开始、结构/联合的定义、枚举的定义以及循环、判断等语句中
的代码都要采用缩行。

【规则6…9】同层次的代码在同层次的缩进层上。

例如:

提倡的的风格不提倡的风格 
void 
Function(int 
x) 
{ 
//program 
code 
} 
void 
Function(int 
x) 
{ 
//program 
code 
} 
struct 
tagMyStruct 
struct 
tagMyStruct{ 



{ 
int 
a; 
int 
a; 
int 
b; 
int 
b; 
int 
c; 
int 
c; 
}; 
}; 
if 
(condition) 
if 
(condition){ 
{ 
//program 
code 
//program 
code 
}else{ 
} 
//program 
code 
else 
} 
{ 
//program 
code 
} 


【规则6…10】代码行最大长度宜控制在80个字符以内,较长的语句、表达式等要分成
多行书写。

【规则6…11】长表达式要在低优先级操作符处划分新行,操作符放在新行之首(以便突
出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。
例如: 


if 
((very_longer_variable1 
》= 
very_longer_variable12) 
&&(very_longer_variable3 
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架