欢迎来到天天文库
浏览记录
ID:34105498
大小:330.55 KB
页数:37页
时间:2019-03-03
《通信软件的编程规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、厦门青年网络通讯股份有限公司-研发部通信软件的编程规范1、通信软件的编程规范为了提高源程序的质量和可维护性,对软件产品的源程序的编写风格做出同意的规范约束是非常有必要的,尤其对于实时性、准确性要求极严的通信软件的开发,制定并实施严格的编程规范是尤其重要的。本章提出了一些常见的通信软件开发规范,主要是针对VxWorks/Tornado编程的,但也基本适用其它不同的编程语言或应用环境的编程。这里给出的规范的内容包括排版、注释、标识符命名、变量适用、代码可测性、程序效率、质量保证、代码编译、单元测试、程序版本与维护等。其中的“规则”是
2、编程时强制必须遵守的原则:“建议”是编程时必须加以考虑的原则:“说明”是对此规则或建议进行必要的解释:“示例”对次规则或建议从正反两个方面给出离子。1.1排版1)规则1-1:程序块要采用缩进风格编写,缩进的空格数为4格。2)规则1-2:相对独立的程序块之间、变量说明之后必须加空行。示例:如下离子不符合规范。if(!valid_ni(ni)){…//programcode}repssn_ind=ssn_date[index].repssn_index;repssn_ni=ssn_date[index].ni;应如下书写:if(!v
3、alid_ni(ni)){…//programcode}repssn_ind=ssn_date[index].repssn_index;repssn_ni=ssn_date[index].ni;3)规则1-3:较长的语句(>80字符)要分成多行书写,常表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。示例:perm_count_msg.head.len=NO7_TO_STAT_PERM_COUNT_LEN+STAT_SIZE_PER_FRAM*sizeof(_UL);ac
4、t-task_table[frame_id*STAT_TASK_CHECK_NUMBER+index].occupied=atat_poi[index].occupied;Act_task_table[taskno].duration_true_or_false=SYS_get_sccp_statistic_state(stat_item);第1页共37页厦门青年网络通讯股份有限公司-研发部Report_or_not_flag=((taskno5、lid(stat_item)&&(act_task_table[taskno].result_date!=0));4)规则1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符划分新行,操作符放在新行之首。示例:If((taskno6、(j7、OJECT));n7stat_flash_duration(stat_item,frame_id*STAT_TASK_CHECK_NUMBER)6)规则1-6:不允许把多个短语句写在一行中,即一行只写一条语句。示例:如下例子不符号规范。Rect.length=0;rect.width=0应如下书写:rect.length=0;rect.width=0;7)规则1-7:if、for、do、while、case、switch、defaule等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示8、例:如下例子不符合规范。if(pUserCR==NULL)return;应如下书写:第2页共37页厦门青年网络通讯股份有限公司-研发部if(pUserCR==NULLL){return;}8)规则l-8:对齐只使用空格键,不使用TAB键。说明:以免用不同的编辑器
5、lid(stat_item)&&(act_task_table[taskno].result_date!=0));4)规则1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符划分新行,操作符放在新行之首。示例:If((taskno6、(j7、OJECT));n7stat_flash_duration(stat_item,frame_id*STAT_TASK_CHECK_NUMBER)6)规则1-6:不允许把多个短语句写在一行中,即一行只写一条语句。示例:如下例子不符号规范。Rect.length=0;rect.width=0应如下书写:rect.length=0;rect.width=0;7)规则1-7:if、for、do、while、case、switch、defaule等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示8、例:如下例子不符合规范。if(pUserCR==NULL)return;应如下书写:第2页共37页厦门青年网络通讯股份有限公司-研发部if(pUserCR==NULLL){return;}8)规则l-8:对齐只使用空格键,不使用TAB键。说明:以免用不同的编辑器
6、(j7、OJECT));n7stat_flash_duration(stat_item,frame_id*STAT_TASK_CHECK_NUMBER)6)规则1-6:不允许把多个短语句写在一行中,即一行只写一条语句。示例:如下例子不符号规范。Rect.length=0;rect.width=0应如下书写:rect.length=0;rect.width=0;7)规则1-7:if、for、do、while、case、switch、defaule等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示8、例:如下例子不符合规范。if(pUserCR==NULL)return;应如下书写:第2页共37页厦门青年网络通讯股份有限公司-研发部if(pUserCR==NULLL){return;}8)规则l-8:对齐只使用空格键,不使用TAB键。说明:以免用不同的编辑器
7、OJECT));n7stat_flash_duration(stat_item,frame_id*STAT_TASK_CHECK_NUMBER)6)规则1-6:不允许把多个短语句写在一行中,即一行只写一条语句。示例:如下例子不符号规范。Rect.length=0;rect.width=0应如下书写:rect.length=0;rect.width=0;7)规则1-7:if、for、do、while、case、switch、defaule等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示
8、例:如下例子不符合规范。if(pUserCR==NULL)return;应如下书写:第2页共37页厦门青年网络通讯股份有限公司-研发部if(pUserCR==NULLL){return;}8)规则l-8:对齐只使用空格键,不使用TAB键。说明:以免用不同的编辑器
此文档下载收益归作者所有