当前版本: x.x
修改信息: 2000.06.05 John, Initial Version
2000.07.05 Tom, Bug xxxx fixed
/
(空2行,开始程序正文)
1.3.4 函数注释通常置于每函数或过程的开头部分,它应当给出函数或过程的整体说明对于理解程序本身具有引导作用。一般包括如下条目:
——模块标题。
——有关本模块功能和目的的说明。
——调用格式
——接口说明:包括输入、输出、返回值、异常。
——算法。如果模块中采用了一些复杂的算法。
例:
file://(注释开头应和上一函数空两行)
(注释开头与上一函数最后一行间隔两行)
/
标题:assignmentComplete
功能:BSC=%26gt;MSC消息生成函数,生成assignment_complete指配完成消息(BSMAP消息) .
格式:
int assignmentComplete(int iCellId, int iServiceChannnelNum, char pszMSGData) throw(exception1, exception2)
输入:
int iCellId: MS所在的小区识别
iCellId取值:0x00-——0xff .4.
Q/ECC/BJ 010—2001
int iServiceChannnelNum:MS所占的业务信道号码
输出:
char pszMSGData:指配完成消息数据
返回值: 0x00正常
异常:exception1异常情况1, exception2异常情况2
/
( 注释后直接开始程序正文,不空行。)
1.3.5功能性注释嵌在源程序体中,用于描述其后的语句或程序段做什么工作,也就是解释下面要做什么,或是执行了下面的语句会怎么样。而不要解释下面怎么做,因为解释怎么做常常与程序本身是重复的。
例:
/把 amount 加到 total中/
total = amount + total;
这样的注释仅仅是重复了下面的程序,对于理解它的工作并没有什么作用。而下面的注释,有助于读者理解。
/将每月的销售额amount加到年销售额total中/
total = amount + total;
1.4 函数编写应尽可能短小精悍,一般不超过两屏,以便于调试和理解。
1.5语句结构
为保证语句结构的清晰和程序的可读性,在编写软件程序时应注意以下几个方面的问题:
——在一行内只写一条语句,并采用空格、空行和移行保证清楚的视觉效果。
——每一个嵌套的函数块,使用一个TAB缩进(可以设定为4个空格),大括号必须放在条件语句的下一行,单独成一行,便于匹对:
如,有一段程序如下:
for(i=1;iif(a【j】应写为
for( i=1; i{
t=1;
for(j = i+1; j{
if(a【i】t=j;
if(t!=1)
{ .5.
Q/ECC/BJ 010—2001
work=a【t】;
a【t】=a【i】;
a【i】=work;
}
}
}
——文件之中不得存在无规则的空行,比如说连续十个空行。
一般来讲函数与函数之间的空行为2-3行;
在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。
——程序编写首先应考虑清晰性,不要刻意追求技巧性而使得程序难以理解。
——每行长度尽量避免超过屏幕宽度,应不超过80个字符。
——除非对效率有特殊要求,编写程序要作到清晰第一,效率第二。
——尽可能使用函数库。
——尽量用公共过程或子程序去代替重复的功能代码段。要注意,这个代码应具有一个独立的功能,不要只因代码形式一样便将其抽出组成一个公共过程或子程序。
——使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=ab/cd 写成 x=(ab/c)d可避免阅读者误解为x=(ab)/(cd)。
——避免不必要的转移。
——避免采用过于复杂的条件测试。
——避免过多的循环嵌套和条件嵌套。
——建议不要使用 =,^=, /=等运算符。
——一个函数不要超过200行。一个文件应避免超过2000行。