欢迎来到天天文库
浏览记录
ID:57061187
大小:380.83 KB
页数:43页
时间:2020-07-31
《嵌入式软件编程要求规范.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、TRZN嵌入式软件编程规文档修改历史:版本号日期修改者及常用修改日志0.12016-10-28科ykee126126.根据查阅的相关资料整理,此版本为第一次提交。1文档概述41.1关于本文档41.2参考文献42排版53注释104标识符命名195可读性256变量、结构267宏318函数、过程339可测性4110代码版本管理4410.1代码质量定义4410.2Git分支定义4410.3Git代码引入规定4410.4Git代码Commit顺序4510.5Commit文件过程中的其他注意事项4511附录A–推荐编辑器的默认配置修改4611.1KeiluVision5默认配置修改461文档概述1.1关
2、于本文档本文档规了天人智能嵌入式软件部软件代码的书写规和原则。本文档仅供公司部员工使用。公司,严禁外传。本文档中各规则的格式如下:【规则编号】[规则容][[标记]]其中[标记]的含义如下:(必须):表示该条规则是必须遵守的。(建议):表示该条规则是建议遵守的。(可选)或没有标记:表示该条规则是可选择遵守的。本文档的示例中,如有使用“//”,并非代码注释,而是文档的注释(有可能是文档中对代码注释的解释)。1.2参考文献[1]高质量C++编程[2]EffectiveC++[3]MoreEffectiveC++[4]C++Primer[5]ThinkinginC++1排版l【规则21】程序块要采
3、用缩进风格编写,缩进的空格数为4个,对齐使用空格键,不得使用TAB键。[必须]嵌入式软件开发的代码编辑器,推荐使用KeiluVision5,编辑器参数设置见附录A。l【规则22】相对独立的程序块之间、变量说明之后必须加空行。[必须]示例:不正确的书写方式:if(!rpr_valid_ni(ni)){...//programcode}gRprRepssnInd=gRprSsnData[idx].repssn_index;gRprRepssnNi=gRprSsnData[idx].ni;正确的书写方式:if(!rpr_valid_ni(ni)){...//programcode}//空行gRp
4、rRepssnInd=gRprSsnData[idx].repssn_index;gRprRepssnNi=gRprSsnData[idx].ni;l【规则23】较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。[必须]示例:gRprPermCountMsg.head.len=RPR_NO7_TO_STAT_PERM_COUNT_LEN+RPR_STAT_SIZE_PER_FRAM*sizeof(UINT32);gSysAcbTaskTable[frame_id*RPR_STAT_TASK_
5、CHECK_NUMBER+index].nOccupied=rprStatPoi[index].nOccupied;gSysAcbTaskTable[taskno].nDurationTrueOrFalse=SYS_getSccpStatisticState(statItem);gRprReportOrNotFlag=((SYS_MAX_ACT_TASK_NUMBER>taskno)&&(SYS_n7statStatItemValid(statItem))&&(0!=gSYSActTaskTable[taskno].resultData));l【规则24】循环、判断等语句中若有较长的表达式
6、或语句,则要进行适当的分行,长表达式要在低优先级操作符处划分新行,操作符放在行尾。[必须]示例:if((taskno7、SecondWordLength);i++,j++){...//programcode}l【规则25】若函数的参数较长,则要进行适当的分行。[必须]示例:rpr_n7statStrCompare((UINT8*)&statObject,(UINT8*)&(gSysActTaskTable[taskno].statObject),sizeof(SYS_STAT_OBJECT));rpr_n7statFlash
7、SecondWordLength);i++,j++){...//programcode}l【规则25】若函数的参数较长,则要进行适当的分行。[必须]示例:rpr_n7statStrCompare((UINT8*)&statObject,(UINT8*)&(gSysActTaskTable[taskno].statObject),sizeof(SYS_STAT_OBJECT));rpr_n7statFlash
此文档下载收益归作者所有