软件质量目标子集:C 和 C++ 编码规则解析
1. 引言
在软件开发中,确保代码质量是至关重要的。遵循特定的编码规则可以提高代码的可读性、可维护性和可靠性。本文将介绍 C:2012 和 C++:2008 的软件质量目标子集(SQO)相关规则,这些规则对代码的选择性和精度具有直接或间接的影响。同时需要注意,在未来的版本中,Code Prover 将不再支持检查外部编码标准的合规性和计算代码指标,建议迁移到 Bug Finder 进行这些工作。
2. Software Quality Objective Subsets (C:2012)
2.1 SQO-Subset1 规则
SQO 子集 1 包含一系列规则,这些规则对 Polyspace 结果的精度有直接或间接影响。以下是这些规则的详细介绍:
| 规则编号 | 描述 |
| ---- | ---- |
| D1.1 | 程序输出所依赖的任何实现定义行为都应记录并理解。 |
| 5.3 | 内部作用域中声明的标识符不得隐藏外部作用域中声明的标识符。 |
| 8.8 | 所有具有内部链接的对象和函数声明都应使用静态存储类说明符。 |
| 8.11 | 声明具有外部链接的数组时,应明确指定其大小。 |
| 8.13 | 指针应尽可能指向 const 限定类型。 |
| 11.1 | 不得在函数指针和任何其他类型之间进行转换。 |
| 11.2 | 不得在不完整类型的指针和任何其他类型之间进行转换。 |
| 11.4 | 不应在对象指针和整数类型之间进行转换。 |
| 11.5 | 不应将 void 指
超级会员免费看
订阅专栏 解锁全文
5604

被折叠的 条评论
为什么被折叠?



