MISRA C (3)
来源:互联网 发布:java native方法 编辑:程序博客网 时间:2024/06/09 13:40
控制流
1、不能有不能到达的(unreachable)的代码
2、所有非空语句(non-null statement)应该:
a)不管怎样执行都至少有一个副作用
b)可以引起控制流的转移
3、在预处理之前,空语句只能出现在一行上,其后可以跟有注释,假设紧跟空语句的第一个字符是空格
4、不应使用goto语句
5、不应使用continue语句
6、对任何迭代语句至多只应有一条break语句用于循环的结束
7、一个函数在其结尾应该有单一的退出点
8、组成switch、while、do...while或for结构体的语句应该跟随有复合语句或者另外的if语句
9、if(表达式)结构应该跟随复合语句。else关键字应该跟随有复合语句或者另外的if语句
10、所有的if...else if结构应该由else子句结束
Switch语句
1、switch标签只能用在当前最紧密封闭(closely-enclosing)的复合语句是switch语句体的时候
2、无条件的break语句应该终止每个非空的switch子句
3、switch语句的最后子句应该是default子句
4、switch表达式不应是有效的布尔值
5、每个switch语句至少有一个case子句
函数
1、函数的定义不得带有可变数量的参数
2、函数不能调用自身,不管是直接还是间接的。
3、在函数的原型声明中应该为所有参数给出标识符
4、函数的声明和定义中使用的标识符应该一制
5、不带参数的函数应当声明为具有void类型的参数
6、传递给一个函数的参数应该与声明的参数匹配
7、函数的原型中的指针参数如果不是用于修改所指向的对象,就应该声明为指向const的指针
8、带有non-void返回类型的函数其所有退出路径都应具有显式的带表达式的returned语句
9、函数的标识符的使用只能或者加前缀&,或者使用括号的参数列表,列表可以为空。
10、如果函数返回了错误的信息,那么错误的信息应该进行测试
0 0
- MISRA C (3)
- MISRA C指导指南解读系列3(MISRA C规则11-19)
- MISRA C编程规范(一)
- MISRA C编程规范(2)
- MISRA C指导指南解读系列1(MISRA C是什么)
- MISRA C指导指南解读系列4(MISRA C规则20-32)
- MISRA C指导指南解读系列5(MISRA C规则33-45)
- MISRA C指导指南解读系列6(MISRA C规则46-67)
- MISRA C指导指南解读系列7(MISRA C规则68-86)
- MISRA C指导指南解读系列8(MISRA C规则87-100)
- MISRA C指导指南解读系列9(MISRA C规则101-113)
- MISRA C指导指南解读系列10(MISRA C规则114-127)
- MISRA C 2004
- Misra-c 整理笔记
- MISRA-C试卷
- Misra-c 整理笔记
- MISRA C 4
- Misra-c 整理笔记
- asp.net页间传值之多值cookies
- android webView 加载HTML代码使用loadData方法中文乱码问题
- 用户模式下的线程同步
- 两年前就注册了账号,今天才开通博客!!!!
- XML的命名空间与python解析方法
- MISRA C (3)
- devise token唯一性验证结论
- Java Hashtable、Hashmap
- 斯特林公式求大数位数
- Android从入门到精通第13章:Service应用
- 二分查找下界 下界
- UVA - 409 Excuses, Excuses!
- Linux终端的几个常用快捷方式,记下!
- code signing is required for product type 'Application' in SDK 'iOS 8.1'