内容发布更新时间 : 2024/11/9 0:57:28星期一 下面是文章的全部内容请认真阅读。
12-11 :全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明 示例:
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // 变量作用、含义 /* 0 - SUCCESS 1 - GT Table error */
/* 2 - GT error Others - no use */ // 变量取值范围 /* only function SCCPTranslate() in */ /* this modual can modify it, and other */ /* module can visit it through call */
/* the function GetGTTransErrorCode() */ // 使用方法 BYTE g_GTTranErrorCode;
12-12 :注释与所描述内容进行同样的缩排
说明:可使程序排版整齐,并方便注释的阅读与理解。 示例:如下例子,排版不整齐,阅读稍感不方便。 void example_fun( void ) {
/* code one comments */ CodeBlock One
/* code two comments */ CodeBlock Two }
应改为如下布局。
void example_fun( void )
{
/* code one comments */ CodeBlock One
/* code two comments */ CodeBlock Two }
12-13 :将注释与其上面的代码用空行隔开 示例:如下例子,显得代码过于紧凑。 /* code one comments */ program code one /* code two comments */ program code two
应如下书写
/* code one comments */ program code one
/* code two comments */ program code two
12-14 :对变量的定义和分支语句(条件分支、循环语句等)必须编写注释 说明:这些语句往往是程序实现某一特定功能的关键,对于维护人员来说,良好的注释帮助更好的理解程序,有时甚至优于看设计文档。
12-15 :对于switch 语句下的case 语句,如果因为特殊情况需要处理完一个case 后进入下一个case 处理,必须在该case 语句处理完、下一个case 语句前加上明确的注释
说明:这样比较清楚程序编写者的意图,有效防止无故遗漏break语句。
示例(注意斜体加粗部分): case CMD_UP: ProcessUp(); break; case CMD_DOWN: ProcessDown(); break; case CMD_FWD: ProcessFwd();
if (...) { ... break; } else {
ProcessCFW_B(); // now jump into case CMD_A }
case CMD_A: ProcessA(); break; case CMD_B: ProcessB(); break; case CMD_C: ProcessC(); break; case CMD_D: ProcessD();
break; ...
?2-1 :避免在一行代码或表达式的中间插入注释
说明:除非必要,不应在代码或表达中间插入注释,否则容易使代码可理解性变差。
?2-2 :通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的
说明:清晰准确的函数、变量等的命名,可增加代码可读性,并减少不必要的注释。
?2-3 :在代码的功能、意图层次上进行注释,提供有用、额外的信息
说明:注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。
示例:如下注释意义不大。
/* if receive_flag is TRUE */ if (receive_flag)
而如下的注释则给出了额外有用的信息。
/* if mtp receive a message from links */ if (receive_flag)
?2-4 :在程序块的结束行右方加注释标记,以表明某程序块的结束
说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。
示例:参见如下例子。
if (...) {
// program code
while (index < MAX_INDEX) {
// program code
} /* end of while (index < MAX_INDEX) */ // 指明该条while语句结束
} /* end of if (...)*/ // 指明是哪条if语句结束
?2-5 :注释格式尽量统一,建议使用“/* ?? */”
?2-6 :注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达
说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文。
〔三〕 =====[ 标识符命名 ]=======