c++程序的设计规范标准

  • 格式:doc
  • 大小:179.50 KB
  • 文档页数:57

下载文档原格式

  / 57
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ANSI C/C++程序设计规

文件编号: SDSI-QG-28-01-01

起草部门:

审核人:

批准人:

批准日期:2008年4月

版本标识: 1.0版

目录

1目的 (3)

2定义 (3)

3程序设计要求 (3)

4程序风格定义 (4)

4.1编程风格 (4)

4.1.1书写风格 (4)

4.1.2程序结构 (4)

4.1.3程序注释 (5)

4.1.4声明 (6)

4.1.5临时变量 (6)

4.2一些规则及建议: (6)

5命名规 (6)

5.1详细定义 (7)

5.1.1函数(Function) (7)

5.1.2变量命名规 (7)

5.1.3常用变量的规定: (8)

5.2类定义规 (8)

5.2.1类的命名 (8)

5.2.2类的注释 (8)

5.2.3类的声明 (9)

1目的

为使整个系统保持统一和一致的编程风格及技术,提高程序代码的规化程度,制定该部分的规。这些规可以提高编码质量、增强可读性、提高排错的容易程度、加强可维护性、以及提高代码的可重用性和可移植性。

1.1定义

程序块:是整个C/C++语言程序中完成某一细分功能的具有相对独立性的一段程序,其主要容包括注释、变量定义及程序正文三部分组成。

子程序块:程序块中的某一细分功能的程序块称为子程序块。

临时变量:临时变量是每次赋值的作用域较小,一般不应超过五行程序。临时变量的名字本身只是说明了该变量是一个临时的操作数,不具有任何意义,但在某一作用域代表不同的具体含义。

2程序设计要求

一、据所确定的标准进行程序设计。

二、模块的耦合度要高,模块间的耦合度要低。在修改一个模块时,尽量不要对其它模块造成影响,若影响较大,有必要重新规划模块。

三、每个程序模块的行数不限,但对于程序模块中相对独立性较高的程序块最好作成函数,每个函数的代码行数原则上不超过200行,经常使用的函数最好做成函数库,必须保证在整个系统中同名的函数有相同的定义。

四、尽量为程序块加上明确的汉语注释。对于较复杂的程序或算法需要注释文档,并在程序中注明注释文档及在文档中注明程序名。

3开发规

3.1风格规

3.1.1缩进风格

3.1.1.1概述

缩进用于提高代码的可阅读性,缩进通常采用TAB键来控制缩进风格,但为了不同TAB 值的问题,缩进采用空格缩进。在UE中,通常将TAB设置成为2个空格。

3.1.1.2要求描述

程序采用缩进风格,在需要缩进的地方使用2个空格进行缩进。

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

3.1.1.3示例

3.1.2代码块分隔

3.1.2.1概述

相对独立的短代码、变量定义需要分隔开,在读代码时可以方便的区分出独立代码。

3.1.2.2要求描述

在代码之间、变量定义之后使用一行空行来分隔代码,用于区分代码。

3.1.2.3示例

if (!valid_ni(ni))

{

... /* program code*/

}

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

3.1.3长语句分隔

3.1.3.1概述

通常情况下屏幕长度可以容纳超过80例字符,但为适应多种屏幕(如VI),且一行过长大多数人心理无法承受,所以长语句要分隔。大多数情况下建议单行代码长度不要超过80个字符,通常情况下可以使用各种方法缩减单行代码。

3.1.3.2要求描述

较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

3.1.3.3示例

单条语句:

perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN

+ STAT_SIZE_PER_FRAM * sizeof( _UL );

act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied

= stat_poi[index].occupied;

act_task_table[taskno].duration_true_or_false

= SYS_get_sccp_statistic_state( stat_item );

report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)

&& (n7stat_stat_item_valid (stat_item))

&& (act_task_table[taskno].result_data != 0));

循环、判断类:

if ((taskno < max_act_task_number)

&& (n7stat_stat_item_valid (stat_item)))

{

... /* program code*/

}

for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)

&& (j < NewKeyword.word_length); i++, j++)

{

... /* program code*/

}

for (i = 0, j = 0;

(i < first_word_length) && (j < second_word_length);

i++, j++)

{

... /* program code */

}

函数参数:

n7stat_str_compare((BYTE *) & stat_object,

(BYTE *) & (act_task_table[taskno].stat_object),

sizeof (_STAT_OBJECT));

n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER

+ index, stat_object );

3.1.4单行单句

3.1.

4.1概述

部分代码比较短,有些代码就多条语句写在一行,容易造成阅读困难。

相关主题