华为CC语言编程规范文档格式.docx

上传人:b****4 文档编号:14109187 上传时间:2022-10-18 格式:DOCX 页数:12 大小:21.67KB
下载 相关 举报
华为CC语言编程规范文档格式.docx_第1页
第1页 / 共12页
华为CC语言编程规范文档格式.docx_第2页
第2页 / 共12页
华为CC语言编程规范文档格式.docx_第3页
第3页 / 共12页
华为CC语言编程规范文档格式.docx_第4页
第4页 / 共12页
华为CC语言编程规范文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

华为CC语言编程规范文档格式.docx

《华为CC语言编程规范文档格式.docx》由会员分享,可在线阅读,更多相关《华为CC语言编程规范文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

华为CC语言编程规范文档格式.docx

1-3:

较长的语句(>

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

=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)))

...ord_length)

(j<

;

i++,j++)

....tat_object),

sizeof(_STAT_OBJECT));

n7stat_flash_act_duration(stat_item,frame_id*STAT_TASK_CHECK_NUMBER

+index,stat_object);

1-6:

不许诺把多个短语句写在一行中,即一行只写一条语句。

=0;

1-7:

if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部份不管多少都要加括号{}。

if(pUserCR==NULL)return;

应如下书写:

if(pUserCR==NULL)

return;

}

1-8:

对齐只利用空格键,不利用TAB键。

以避免用不同的编辑器阅读程序时,因TAB键所设置的空格数量不同而造成程序布局不整齐,不要利用BC作为编辑器合版本,因为BC会自动将8个空格变成一个TAB键,因此利用BC合入的版本大多会将缩进事变。

1-9:

函数或进程的开始、结构的概念及循环、判定等语句中的代码都要采纳缩进风格,case语句下的情形处置语句也要遵从语句缩进要求。

1-10:

程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行而且位于同一列,同时与引用它们的语句左对齐。

在函数体的开始、类的概念、结构的概念、列举的概念和if、for、do、while、switch、case语句中的程序都要采纳如上的缩进方式。

for(...){

....)

{

.....)

....前后不加空格。

p->

id=pid;

文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必需列出:

版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日记等,头文件的注释中还应有函数功能简要说明。

下面这段头文件的头注释比较标准,固然,并非局限于此格式,但上述信息建议要包括在内。

/*************************************************

Copyright(C),1988-1999,HuaweiTech.Co.,Ltd.

Filename:

....

History:

Date:

Author:

Modification:

2....

*************************************************/

2-3:

源文件头部应进行注释,列出:

版权说明、版本号、生成日期、作者、模块目的/功能、要紧函数及其功能、修改日记等。

下面这段源文件的头注释比较标准,固然,并非局限于此格式,但上述信息建议要包括在内。

/************************************************************

FileName:

Version:

Description:

-------

epssn_index;

例2:

repssn_ind=ssn_data[index].repssn_index;

/*getreplicatesubsystemindexandnetindicator*/

2-9:

关于所有有物理含义的变量、常量,若是其命名不是充分自注释的,在声明时都必需加以注释,说明其物理含义。

变量、常量、宏的注释应放在其上方相邻位置或右方。

/*activestatistictasknumber*/

#defineMAX_ACT_TASK_NUMBER1000

#defineMAX_ACT_TASK_NUMBER1000/*activestatistictasknumber*/

2-10:

数据结构声明(包括数组、结构、类、列举等),若是其命名不是充分自注释的,必需加以注释。

对数据结构的注释应放在其上方相邻位置,不可放在下面;

对结构中的每一个域的注释放在此域的右方。

可按如下形式说明列举/数据/联合结构。

/*sccpinterfacewithsccpuserprimitivemessagename*/

enumSCCP_USER_PRIMITIVE

N_UNITDATA_IND,/*sccpnotifysccpuserunitdatacome*/

N_NOTICE_IND,/*sccpnotifyuserthenetworkcannot*/

/*transmissionthismessage*/

N_UNITDATA_REQ,/*sccpuser'

sunitdatatransmissionrequest*/

};

2-11:

全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或进程存取它和存取时注意事项等的说明。

/*TheErrorCodewhenSCCPtranslate*/

/*GlobalTitlefailure,asfollows*/.)

...

break;

else

ProcessCFW_B();

.

½

2-1:

幸免在一行代码或表达式的中间插入注释。

除非必要,不该在代码或表达中间插入注释,不然容易使代码可明白得性变差。

2-2:

通过对函数或进程、变量、结构等正确的命名和合理地组织代码的结构,使代码成为自注释的。

清楚准确的函数、变量等的命名,可增加代码可读性,并减少没必要要的注释。

在代码的功能、用意层次上进行注释,提供有效、额外的信息。

注释的目的是说明代码的目的、功能和采纳的方式,提供代码之外的信息,帮忙读者明白得代码,避免没必要的重复注释信息。

如下注释意义不大。

/*ifreceive_flagisTRUE*/

if(receive_flag)

而如下的注释则给出了额外有效的信息。

/*ifmtpreceiveamessagefromlinks*/

2-4:

在程序块的终止行右方加注释标记,以表明某程序块的终止。

今世码段较长,专门是多重嵌套时,如此做能够使代码更清楚,更便于阅读。

参见如下例子。

if(...)

.)*/.),建议除要有具体含义外,还能表明其变量类型、数据类型等,但i、j、k作局部循环变量是许诺的。

变量,尤其是局部变量,若是用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了那个小小的错误而花费大量的查错时刻。

下面所示的局部变量名的概念方式能够借鉴。

intliv_Width

其变量名说明如下:

l局部变量(Local)(其它:

g全局变量(Global)...)

i数据类型(Interger)

v变量(Variable)(其它:

c常量(Const)...)

Width变量含义

如此能够避免局部变量与全局变量重名。

3-5:

命名规范必需与所利用的系统风格维持一致,并在同一项目中统一,比如采纳UNIX的全小写加下划线的风格或大小写混排的方式,不要利用大小写与下划线混排的方式,用作特殊标识如标识成员变量或全局变量的m_和g_,其后加上大小写混排的方式是许诺的。

Add_User不许诺,add_user、AddUser、m_AddUser许诺。

3-1:

除非必要,不要用数字或较奇怪的字符来概念标识符。

如下命名,令人产生疑惑。

#define_EXAMPLE_0_TEST_

#define_EXAMPLE_1_TEST_

voidset_sls00(BYTEsls);

应改成成心义的单词命名

#define_EXAMPLE_UNIT_TEST_

#define_EXAMPLE_ASSERT_TEST_

voidset_udt_msg_sls(BYTEsls);

3-2:

在同一软件产品内,应计划好接口部份标识符(变量、结构、函数及常量)的命名,避免编译、链接时产生冲突。

对接口部份的标识符应该有更严格限制,避免冲突。

如可规定接口部份的变量与常量之前加上“模块”标识等。

3-3:

用正确的反义词组命名具有互斥意义

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1