MISRA C: 2004 软件静态测试(代码审查)规范

 时间:2024-10-13 07:04:37

MISRA C: 2004网络上的资料较多,这里只整理了代码审查过程中的一种实践。MISRA C:2012的内容请参考其它系列经验。

工具/原料

MISRA C: 2004

背离的规则

1、2(强制) 源代码应该使用 /*…*/ 类型的注释背离原因:在代码中大量使用了//类型的注释,S15项目选择背离,将作为后续开发的注释规范

2、5(建议拘七呷憎) 具有静态存储期的对象或函数标识符不能重用背离原因:大量重用了i、j、temp这样的变量名,将作为后续软件开发建议性的命名规范(详细见变量命名规则)

3、7 (建议) 不能重用标识符名字背离原因:同5.5

4、3(建议) 应该使用指示了大小和符号的typedef以代替基本类型背离原因:目前使用CodeWorriorIDE标准类型,以达到在不同版本开发环境的类型替代的统一

5、9(强制) 具有外部链接的标识符应该具有准确的外部定义背离原因:实际已遵循本条规则,然而understand软件不识别条件编译的类型预定义

6、罕铞泱殳 14.7 (强制) 一个函数在其结尾应该有单一的退出点背离原因:本条规则主要针对有多个退出点的的函数,采取了背离方式。后续尝试降低函数的复杂度,可以作为一个可检查和实现的方法。

7、4 (强制) 不要使用联合背离原因:MISRA-C-: 2004规则描述,在使用CAN格式对变量进行封装处理不算背离规则

编程规范修改举例

1、1(强制) 汇编语言应该被封装并隔离

MISRA C: 2004 软件静态测试(代码审查)规范

2、4(强制) 标签tag名称必须是唯一的标识符

MISRA C: 2004 软件静态测试(代码审查)规范MISRA C: 2004 软件静态测试(代码审查)规范

3、4(强制) 位域只能被定义为unsigned int或singed int类型

MISRA C: 2004 软件静态测试(代码审查)规范

4、1 (强制) 不能有不可到达unreachable的代码

MISRA C: 2004 软件静态测试(代码审查)规范

5、10 (强制) 所有的if ... else if结构应该由else子句结束

MISRA C: 2004 软件静态测试(代码审查)规范
  • 怎么打开SQL文件
  • PL/SQL Developer对oracle数据库导入导出操作
  • vue+Element UI怎么简单校验密码长度6-15位?
  • 锐浪报表怎么制作表格
  • IDEA怎么设置关闭当前标签页激活左侧选项卡
  • 热门搜索
    韵味是什么意思 天龙八部是什么意思 79年属什么生肖 梦见掉牙是什么意思 轻轻的捧着你的脸是什么歌 fifo是什么意思 什么是幸福作文 护照类型p是什么意思 超神是什么意思 kb是什么意思