LDRATestbedC++编码规则列表.docx

上传人:b****8 文档编号:9378460 上传时间:2023-02-04 格式:DOCX 页数:54 大小:65.22KB
下载 相关 举报
LDRATestbedC++编码规则列表.docx_第1页
第1页 / 共54页
LDRATestbedC++编码规则列表.docx_第2页
第2页 / 共54页
LDRATestbedC++编码规则列表.docx_第3页
第3页 / 共54页
LDRATestbedC++编码规则列表.docx_第4页
第4页 / 共54页
LDRATestbedC++编码规则列表.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

LDRATestbedC++编码规则列表.docx

《LDRATestbedC++编码规则列表.docx》由会员分享,可在线阅读,更多相关《LDRATestbedC++编码规则列表.docx(54页珍藏版)》请在冰豆网上搜索。

LDRATestbedC++编码规则列表.docx

LDRATestbedC++编码规则列表

 

LDRATestbed

C++编码规则列表

 

1过程名被重用

1SProcedurenamereused.801MISRA-C25.2MISRA/DERA21

2标号名被重用

2SLabelnamereused.MISRA/DERA12

3文件中可执行格式化代码行超过***行

3SMorethan***executablereformattedlinesinfile.EADS-C4

4程序格式化代码行超过***行

4SProcedureexceeds***reformattedlines.

5then语句为空

5SEmptythenclause.DERA141

6声明函数指针

6SProcedurepointerdeclared.

7跳出程序体

7SJumpoutofprocedure.

8else语句为空

8SEmptyelseclause.

9在非赋值表达式中出现了赋值操作符

9SAssignmentoperationinexpression.MISRA/DERA33,35,40,46EADS-C166,167

10未使用

10SNotused

11循环体没有用大括号括起来

11SNobracketstoloopbody(addedbyTestbed).MISRA/DERA59MISRA-C214.8EADS-C145,165,166,167

12then/else中的语句没有用大括号括起来

12SNobracketstothen/else(addedbyTestbed).MISRA/DERA59MISRA-C214.9EADS-C145

13使用goto语句

13Sgotodetected.MISRA/DERA56MISRA-C214.4EADS-C119

14将过程定义为参数

14SProceduralparameterdeclared.DERA149

15结构体定义中含有空域

15SAnonymousfieldtostructure.MISRA/DERA108,113

16声明多重标号

16SMultiplelabelsdeclared.

17内嵌使用汇编代码

17SCodeinsertfound.MISRA/DERA3

18函数参数超过***个

18SMorethan***parametersinprocedure.

19未被调用的函数使用函数作为参数

19SProceduralparausedinanuncalledprocedure.

20参数未使用类型声明

20SParameternotdeclaredexplicitly.

21未使用

21SNotinuse.

22使用一些模糊的语句(如=+,=-)

22SUseofobsoletelanguagefeature(use=-)MISRA/DERA1DERA137

23函数未被调用

23SProcedureisnotcalledintextanalysed.

24使用让工具不进行分析的注释/*LDRA_NOANALYSIS*/

24SUseofNoanalysisannotation.

25casw语句为空

25SNullcase(s)inswitchstatement.

26使用无限循环

26SInfiniteloopused.DERA142EADS-C133

27返回类型为VOID的函数有return语句

27SVOIDprocedurewithreturnstatement.MISRA/DERA84EADS-C112

28继承类中复用基类

28SDuplicatedBaseClassesinaDerivedclass.

29使用-=或+=操作符

29SUseof+=or-=operatorsfound.

30使用++或者—操作符

30SDeprecatedusageof++or--operatorsfound.MISRA/DERA33,46MISRA-C212.13

31在循环中使用break语句

31SUseofbreakstatementinloop.MISRA/DERA58MISRA-C214.6EADS-C120

32使用continue语句

32SUseofcontinuestatement.MISRA/DERA57MISRA-C214.5EADS-C119

 

33使用三重表达式

33SUseofternaryexpressionfound.EADS-C134

34对过程的声明中未对参数进行说明

34SNoparametersdeclaredinprocspecification.

35圈复杂度大于***

1CCyclomaticcomplexitygreaterthan***.

36过程不是单纯的顺序嵌套循环

2CProcedureisnotreducibleintermsofintervals.

37函数包含基本结点

3CProcedurecontainsessentialknots.

38函数非结构化

4CProcedureisnotstructured.

39函数包含无限循环

5CProcedurecontainsinfiniteloop.DERA142

40未使用的函数参数

1DUnusedprocedureparameter.

41函数不是所有的路径上都有返回值

2DFunctiondoesnotreturnavalueonallpaths.MISRA/DERA75MISRA-C216.8

42函数的实参是全局变量

3DActualparameterisalsoglobaltoprocedure.DERA148

43代码中有多余变量

4DVariablesdeclaredbutnotusedincodeanalysed.DERA143

44存在UR(变量未赋初值就引用)数据流异常

5DURdataflowanomaliesfound.MISRA/DERA30MISRA-C29.1

45使用函数递归调用

6DRecursioninprocedurecallsfound.MISRA/DERA70MISRA-C216.2EADS-C117

46存在DU(定义后未引用就退出作用域)数据流异常

7DDUdataflowanomaliesfound.

47存在DD(定义后未被引用就被再定义)数据流异常

8DDDdataflowanomaliesfound.

48被定义的参数可能存在ClearPath

9DDefinedparameterhaspossibleclearpath.DERA151

49在函数内部使用全局变量

10DGlobalsusedinsideprocedure.

50参数与期望的作用不匹配

11DParametersdonotmatchexpectedactions.

51被引用的变量可能存在ClearPath

12DReferencedparameterhaspossibleclearpath.

52函数中全局变量使用与局部变量作用类似

13DGlobalusedinprocedurematcheslocalparameter.

53改变变量已被传递的值

14DAttempttochangeparameterpassedbyvalue.DERA152

54存在未被使用的过程参数

15DUnusedproceduralparameter.

55函数调用中存在相同的实参

16DIdenticalactualparametersincallDERA153

56局部变量对结果没有意义

1ILocalvariablescontributenothingtoresults.

57函数有多入口

6CProcedurehasmorethanoneentrypoint.

58函数有多出口

7CProcedurehasmorethanoneexitpoint.MISRA/DERA82MISRA-C214.7EADS-C111

59静态过程没有被调用

35SStaticProcedureisnotcalledintextanalysed.

60函数没有返回语句

36SFunctionhasnoreturnstatement.MISRA/DERA75MISRA-C216.8

61过程参数只有类型没有标识符

37SProcedureParameterhasatypebutnoidentifier.MISRA/DERA73MISRA-C216.3

62使用静态类成员

38SUseofStaticclassmember.

63使用不恰当的循环变量类型

39SUnsuitabletypeforloopvariable.MISRA/DERA65MISRA-C213.4

64循环变量必须是局部的

40SLoopindexisnotdeclaredlocally.

65在函数参数表中使用省略号

41SEllipsisusedinprocedureparameterlist.MISRA/DERA69MISRA-C216.1

66在结构体定义中使用位域

42SUseofbitfieldinstructuredeclaration.MISRA/DERA111MISRA-C23.5

67使用setjmp/longjmp

43SUseofsetjmp/longjmp.MISRA/DERA122AV20MISRA-C220.7

68使用禁用的过程,函数,文件或名称

44SUseofbannedfunctionorvariable.MISRA/DERA118AV17,18,19,21,22,23,24,25MISRA

69未使用

45SNotinuse.

71数组越界

47SArrayBoundexceeded.MISRA/DERA4

72在switch语句中没有default语句

48SNodefaultcaseinswitchstatement.MISRA/DERA62AV194,196MISRA-C215.3EADS-C1

74对有符号类型进行移位操作

50SUseofshiftoperatoronsignedtype.MISRA/DERA37

75移位运算溢出

51SShiftingvaluetoofar.MISRA/DERA38AV164MISRA-C212.8

76禁止给无符号变量赋负值

52SUnsignedexpressionnegated.MISRA/DERA39AV165MISRA-C212.9

77使用逗号操作符

53SUseofcommaoperator.MISRA/DERA42AV168MISRA-C212.10

78长度操作符sizeof的副作用

54SSizeofoperatorwithsideeffects.MISRA/DERA40AV166MISRA-C212.3

80禁止对实数类型的变量做相等比较操作

56SEqualitycomparisonoffloatingpoint.MISRA/DERA50AV202MISRA-C213.3EADS-C102

81使用不起作用的语句

57SStatementwithnosideeffect.MISRA/DERA53AV187MISRA-C214.2

82存在空语句

58SNullstatementfound.MISRA/DERA54

83if语句中没有else分支

59SElsealternativemissinginif.MISRA/DERA60AV192MISRA-C214.10

84禁止switch语句为空

60SEmptyswitchstatement.MISRA/DERA64AV64

85switch语句中只包含default

61SSwitchcontainsdefaultonly.MISRA/DERA64AV64MISRA-C215.5

86switch语句中的case语句没有由break语句来终止

62SSwitchCasenotterminatedwithbreak.MISRA/DERA61AV193MISRA-C215.215.5EADS-C

87过程/函数的参数表为空

63SEmptyparameterlisttoprocedure/function.MISRA/DERA76MISRA-C216.5EADS-C109

88返回类型为void的的过程出现在表达式中

64SVoidprocedureusedinexpression.MISRA/DERA79

89void类型的变量作为参数进行传递

65SVoidvariablepassedasparameter.MISRA/DERA80

90函数中只有return语句没有返回值

66SFunctionwithemptyreturnexpression.MISRA/DERA83MISRA-C216.8

93使用#pragma

69S#pragmaused.MISRA/DERA99AV26MISRA-C23.4

95指针指向比分配更大的范围

71SPointerassignmenttowiderscope.MISRA/DERA106AV111,173MISRA-C217.6

96有符号的位域少于2个比特位的空间

72SSignedbitfieldlessthan2bitswide.MISRA/DERA111,112MISRA-C26.5

97位域既不是有符号的整型也不是无符号的整型

73SBitfieldnotsignedorunsignedint.MISRA/DERA111MISRA-C26.4

98声明联合

74SUniondeclared.MISRA/DERA109,110DERA164AV153MISRA-C218

99在头文件前有可执行代码

75SExecutablecodebeforeanincludedfile.MISRA/DERA87MISRA-C219.1

100宏中使用了多个#和##

76SMorethanoneof#or##inamacro.MISRA/DERA98MISRA-C219.12

103禁止定义不像函数的宏

79SMacrocontainsunacceptableitemsMISRA/DERA90DERA157MISRA-C219.4EADS-C++4

104指针的指针超过两级

80SPointerindirectionexceeds2levels.MISRA/DERA102AV169,170MISRA-C217.5

105使用三字母词

81SUseoftrigraphs.MISRA/DERA7AV11MISRA-C24.2EADS-C++52

106使用wchar_t类型

82SUseofwidestringliteral.MISRA/DERA8AV13

107使用八进制数

83SOctalnumberfound.MISRA/DERA19AV149MISRA-C27.1

108使用寄存器变量

84SRegistervariabledeclared.MISRA/DERA28AV140

109枚举元素的初始化不完整

85SIncompleteinitialisationofenumerator.MISRA/DERA32AV145MISRA-C29.3EADS-C81EAD

110重新定义保留字

86SAttempttodefinereservedword.MISRA/DERA114MISRA-C220.1

111用指针进行代数运算

87SUseofpointerarithmetic.MISRA/DERA101AV215MISRA-C217.117.4

112嵌入汇编程序时,嵌入的过程不是纯汇编程序

88SProcedureisnotpureassembler.MISRA/DERA3MISRA-C22.1

113字符类型没有标明是有符号还是无符号

89Schartypenotsignedorunsigned.MISRA/DERA14

115对变量重命名

91SNameredeclaredinanothernamespace(MR).MISRA/DERA12801MISRA-C25.6EADS-C53

116在枚举中重复使用一个名字

92SDuplicateuseofanameinanenumeration.MISRA/DERA12801MISRA-C25.2

117未使用

93SNotinuseMISRA/DERA18,48MISRA-C26.1

118对指针变量使用强制类型转换

94SCastingoperationonapointer.MISRA/DERA45AV182MISRA-C211.211.311.4EA

119对其它类型变量强制转换成指针变量

95SCastingoperationtoapointer.MISRA/DERA45AV182MISRA-C211.4EADS-C++28

122未使用

98SNotused.MISRA-C216.6

123非调用的方式使用函数

99SFunctionuseisnotacall.MISRA/DERA85

124未使用

100SNotused.MISRA-C219.2

125函数返回类型不一致

101SFunctionreturntypeinconsistent.MISRA/DERA83iii801

126函数和函数的原型的返回不一致

102SFunctionandprototypereturninconsistent(MR).MISRA/DERA72MISRA-C28.3

127函数和函数的原型的形参不一致

103SFunctionandprototypeparaminconsistent(MR).MISRA/DERA72,26MISRA-C28.4

128结构体变量的初始化类型不一致

104SStructfieldinitialisationincorrect.MISRA/DERA31

129结构体变量初始化的嵌套结构不一致

105SStructfieldinitialisationbracefault.MISRA/DERA29AV144MISRA-C29.2

130标识符超出***字符

17DIdentifiernotuniquewithin***characters.MISRA/DERA11AV46MISRA-C21.45.1

131标识符名称重用

18DIdentifiernamereusedMISRA/DERA12AV135MISRA-C25.5

132过程在被定义前调用

19DProcedurecalledbeforebeingdefined.MISRA/DERA20,71

133变量在使用前没有被声明

20DNodeclarationforvariablefoundbeforeuse.MISRA/DERA20

134过程的声明在模块的内部

21DProceduredeclaredininnerblockMISRA/DERA68

135函数存在全局变量的副作用

22DFunctionhasglobalvariablesideeffectsMISRA/DERA33,46MISRA-C212.4

136函数存在形参的副作用

23DFunctionhasparametersideeffectsMISRA/DERA33,46

137函数没有定义原型

24DProceduredefinitionhasnoassociatedprototypeMISRA/DERA71MISRA-C28.1EADS-C107,118

138变量的范围可以减少

25DScopeofvariablecouldbereducedMISRA/DERA22MISRA-C28.7

139变量

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

当前位置:首页 > 人文社科 > 教育学心理学

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

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