问题
|
ASIL
|
||||
A
|
B
|
C
|
D
|
||
1a
|
复杂度低
|
++
|
++
|
++
|
++
|
1b
|
语言子集的使用
|
++
|
++
|
++
|
++
|
1c
|
使用强类型
|
++
|
++
|
++
|
++
|
1d
|
防御式编程技术
|
o
|
+
|
++
|
++
|
1e
|
使用清晰的图形表示
|
+
|
++
|
++
|
++
|
1f
|
使用命名规范
|
++
|
++
|
++
|
++
|
属性
|
ASIL
|
||||
A
|
B
|
C
|
D
|
||
1
|
层次设计
|
+
|
+
|
++
|
++
|
2
|
精确定义的接口
|
+
|
+
|
+
|
+
|
3
|
避免软件组件和硬件组件不必要的复杂度
|
+
|
+
|
+
|
+
|
4
|
避免不必要的接口复杂度
|
+
|
+
|
+
|
+
|
方法
|
ASIL
|
||||
A
|
B
|
C
|
D
|
||
1a
|
非正式表示法
|
++
|
+
|
+
|
+
|
1b
|
半正式表示法
|
+
|
++
|
++
|
++
|
1c
|
正式表示法
|
+
|
+
|
+
|
+
|
方法
|
ASIL
|
||||
A
|
B
|
C
|
D
|
||
1a
|
软件组件的层次化结构
|
++
|
++
|
++
|
++
|
1b
|
软件组件的高内聚性
|
+
|
++
|
++
|
++
|
1c
|
软件组件间的低耦合性
|
+
|
++
|
++
|
++
|
方法
|
ASIL
|
||||
A
|
B
|
C
|
D
|
||
1a
|
子程序和方法只有一个入口和出口
|
++
|
++
|
++
|
++
|
1b
|
没有动态对象和变量,也没有在创建时的在线测试
|
+
|
++
|
++
|
++
|
1c
|
变量初始化
|
++
|
++
|
++
|
++
|
1d
|
变量名的多次使用
|
+
|
++
|
++
|
++
|
1e
|
不使用全局变量
|
+
|
+
|
++
|
++
|
1f
|
尽量不适用指针
|
o
|
+
|
+
|
++
|
1g
|
没有隐式的类型转换
|
+
|
++
|
++
|
++
|
1h
|
没有隐藏的数据流或者控制流
|
+
|
++
|
++
|
++
|
1i
|
没有无条件跳转
|
+
|
++
|
++
|
++
|
1j
|
没有递归
|
+
|
+
|
++
|
++
|