目录
TOC \o 1-3 \h \z \u1 排版 PAGEREF _Toc315000788 \h 2
2 注释 PAGEREF _Toc315000789 \h 8
规则2-7:避免在注释中使用缩写,特别是非常用缩写。 PAGEREF _Toc315000790 \h 10
3 标识符命名 PAGEREF _Toc315000791 \h 17
4 可读性 PAGEREF _Toc315000792 \h 20
5 变量、结构 PAGEREF _Toc315000793 \h 23
6 函数、过程 PAGEREF _Toc315000794 \h 32
建议6-14:避免使用无意义或含义不清的动词为函数命名。 PAGEREF _Toc315000795 \h 38
建议6-15:函数的返回值要清楚、明了,让使用者不容易忽视错误情况。 PAGEREF _Toc315000796 \h 38
7 可测性 PAGEREF _Toc315000797 \h 43
8 程序效率 PAGEREF _Toc315000798 \h 49
9 质量保证 PAGEREF _Toc315000799 \h 55
10 代码编辑、编译、审查 PAGEREF _Toc315000800 \h 64
11 代码测试、维护 PAGEREF _Toc315000801 \h 66
12 宏 PAGEREF _Toc315000802 \h 68
软件编程规范总则
1 排版
仅供内部使用 PAGE7
1 排版
1-1:程序块要采用缩进风格编写,缩进的空格数为4个。
说明:对于由开发工具自动生成的代码可以有不一致。
1-2:相对独立的程序块之间、变量说明之后必须加空行。
示例:如下例子不符合规范。
if (!valid_ni(ni))
{
... // program code
}
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
应如下书写
if (!valid_ni(ni))
{
... // program code
}
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
1-3:较长的语句(80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
示例:
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));
1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
示例:
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_l
原创力文档

文档评论(0)