1. 首页
  2. 文档大全

嵌入式软件的编程要求规范.doc

上传者:cxmckate6 2022-07-17 08:45:01上传 DOC文件 334 KB
TRZN嵌入式软件编程规X
文档修改历史:
0.1
2016-10-28
杨科
ykee126126.
根据查阅的相关资料整理,此版本为第一次提交。
1文档概述4
1.1关于本文档4
1.2参考文献4
2排版5
3注释10
4标识符命名19
5可读性25
6变量、结构26
7宏31
8函数、过程33
9可测性41
10代码版本管理44
10.1代码质量定义44
10.2Git分支定义44
10.3Git代码引入规定44
10.4Git代码mit顺序45
10.5mit文件过程中的其他须知事项45
11附录A – 推荐编辑器的默认配置修改46
11.1Keil uVision5默认配置修改46
文档概述
关于本文档
本文档规X了某某天人智能某某嵌入式软件部软件代码的书写规X和原如此。
本文档仅供公司内部员工使用。
公司某某,严禁外传。
本文档中各规如此的格式如下:
【规如此 编号】 [规如此内容] [[标记]]
其中[标记]的含义如下:
〔必须〕:表示该条规如此是必须遵守的。
〔建议〕: 表示该条规如此是建议遵守的。
〔可选〕或没有标记:表示该条规如此是可选择遵守的。
本文档的示例中,如有使用“//〞,并非代码注释,而是文档的注释(有可能是文档中对代码注释的解释)。
参考文献
[1]高质量C++编程
[2]Effective C++
[3]More Effective C++
[4]C++ Primer
[5]Thinking in C++
排版
【规如此 21】程序块要采用缩进风格编写,缩进的空格数为4个,对齐使用空格键,不得使用TAB键。[必须]
嵌入式软件开发的代码编辑器,推荐使用Keil uVision5,编辑器参数设置见附录A。
【规如此 22】相对独立的程序块之间、变量说明之后必须加空行。[必须]
示例:
不正确的书写方式:
if (!rpr_valid_ni(ni))
{
... // program code
}
gRprRepssnInd
= gRprSsnData[idx].repssn_index;
gRprRepssnNi = gRprSsnData[idx].ni;
正确的书写方式:
if (!rpr_valid_ni(ni))
{
... // program code
}
//空行
gRprRepssnInd
= gRprSsnData[idx].repssn_index;
gRprRepssnNi = gRprSsnData[idx].ni;
【规如此 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_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));
【规如此 24】循环、判断等语句中假设有较长的表达式或语句,如此要进展适当的分行,长表达式要在低优先级操作符处划分新行,操作符放在行尾。[必须]
示例:
if ((taskno < gSysMaxActTaskNumber) &&
(SYS_n7statStatItemValid (statItem)))
{
...

嵌入式软件的编程要求规范


文档来源:https://www.taodocs.com/p-512845450.html

文档标签:

下载地址