文栏 - 信息技术 - C语言相关 - 浏览文章 - 华为软件编码规范总则之一排版
华为软件编码规范总则之一排版
发布时间: 2007/11/4 15:25:05 作者: 无法确认 出处: 流出版
¹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_length); 
     i++, j++)
{
    ... // program code
}
¹1-5:若函数或过程中的参数较长,则要进行适当的划分。
示例:
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 );
¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句。
示例:如下例子不符合规范。
rect.length = 0; rect.width = 0;
 
应如下书写
rect.length = 0;
rect.width = 0;
¹1-7:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。
示例:如下例子不符合规范。
if (pUserCR == NULL) return;
 
应如下书写:
if (pUserCR == NULL)
1/2页次 第1页 第2页 下一页 最后一页
所属分类: 信息技术 - C语言相关   所属专题: 他山之石
共有 11419 人次浏览

相关文章
    icon icon
    朋友2008/5/9 16:21:56 认为:
    也没什么嘛,和我平时的习惯差不多
    评论作者:
    电子邮件:
    评论内容:
    投票评价:
    验 证 码:
    图片包含4个随机字符,点击刷新
    请输入上面图片中的随机字符