功能安全标准ISO26262-6 Table1的1g中推荐ASIL B及高于ASIL B等级的代码需要use of style guides(使用风格指南)而所有涉及功能安全的代码都需要使用命名规则(1.h Use of naming conventions).什么是风格指南?为什么会有这样的要求,笔者初次接触这个要求时也十分茫然,我写的代码只要过了单元测试不就可以了么?为什么一定要定义风格呢?
首先咱们一起来看看为什么这个问题。
刚学编程的时候,老师通常会说养成良好的编程习惯,比如,变量的名字要有意义不要单纯的用x,y,a,b,c这样的字母来对形参命名。笔者工作至今,老师当年有一个问题今天回忆起来依然记忆犹新。你今天写了一段代码,过三个月后你回来再看这段代码,你需要花多长时间能读懂它?如果看代码的人不是你,又需要花多长时间可以看懂这段代码?
所谓编程风格(Programming Style)可以理解为程序员在写代码的时候需要使用的一系列规则或者或者指南,这些规则或者指南的目的是帮助自己或者他人来准确、快速的理解代码需要表达的内容。好的编程风格指南可以增加程序的可读性,消除对代码理解上的歧异,无论是是对单元测试还是代码评审验证甚至后期的维护升级都可以带来便利。
另一方面,我们参考文章《汽车电子读书笔记-专业术语解析03-失误、偏差与失效》从fault、error、failure三者之间的关系出发,好的编程风格可以从源头上降低fallt发生的可能性。
正是因为有上面介绍的这些优点,可以明显改善安全相关软件的代码质量。所以,26262才推荐我们来使用编程风格指南。同理,命名规则的好处也是如此。虽然,功能安全标准推荐ASILB及以上等级系统使用编程风格指南,但是,从开发以及使