生入公司后仍要进行编码风格的教育。我接触过很多学生,发现他们由于平时缺乏这种意识,
养成了不好的习惯,导致很难改正过来。代码没有注释,变量、函数等命名混乱,过两天自
己都看不懂自己的代码。下面是一些我见过的比较好的做法,希望读者能有所收获。
【规则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] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。
赞一下
添加书签加入书架