对于开发人员来说,没有什么比试图维护和更新质量如此之差的代码更糟糕得了。对于许多开发团队来说,软件代码质量并不是必需的。为了提高代码质量,这里有几个嵌入式开发人员可以遵循的技巧,并集成到自己的流程中,这将有助于提高他们的代码质量。
技巧1——遵循编码标准
对提高代码质量感兴趣的开发人员应该从检查行业标准开始。开发人员可以利用许多行业标准来改进他们编写代码的方式,包括:
l MISRA-C
l Cert-C
l IEC 12207
l IEC 62304
这些标准为开发高质量的软件建立了框架。任何想提高软件质量的人都应该回顾一下已经做了什么,并开始实施行业建议。
技巧 2——分析和维护软件复杂性
已经多次证明,最小化软件复杂性也可以最小化错误率。软件越复杂,变化越大,不仅会有软件bug,而且对系统进行维护也会增加bug。开发人员应该通过使用圈复杂度来监控他们的函数复杂度。
技巧 3——定期进行代码评审
代码审查已经被证明是减少软件错误的最有效的方法。将同行评审整合到开发周期中对于确保软件质量保持高水平是至关重要的。为了有一个有效的代码审查过程,嵌入式开发人员应该遵循几个关键因素:
将代码审查限制在60个以内
每次评论不要超过400个LOC
至少每周安排一次代码评审(如果您每周生成超过400个LOC,则更多)
技巧 4——需求必须是可追踪的
如果一个需求不能以某种方式被测试和验证,最好是自动化的,那么它就不是一个真正的需求。甚至在开发开始之前,需求就应该被分解成可追踪的测试用例,这些用例可以在以后被用来验证所有的需求已经被满足。当然,需求会改变,会使用不同的设计方法,但是需要有一种方法来追踪软件特性和功能,追溯到产生它们的需求,并证明它们按预期工作。
技巧5——编译没有错误和警告
许多忽视编译器警告的团队和开发人员,有时只有一两个警告需要开发人员深入挖掘,或者是微不足道的,所以它们被忽略了,只是挂在那里。如果编译器不信任代码并给出警告,那么开发人员应该将其视为编译器错误并解决警告。警告是编译器表示不喜欢某样东西的方式。老实说,C编译器喜欢任何东西,所以如果它对某些东西有问题,那么作为嵌入式开发人员我们也应该这样。代码质量意味着没有错误和警告。
技巧 6–静态分析
静态代码分析器是发现嵌入式软件潜在问题的最快方法之一。静态代码分析器可以发现语法问题、潜在的小故障,并识别代码中不可移植的结构,静态分析器甚至可以检查是否遵循了编码标准,将静态分析器集成到连续构建过程中是提高代码质量和最小化软件错误的一个好方法。
技巧7——所有代码都必须经过全面测试
不少中小型企业在没有完全测试软件的情况下就发布产品。这些公司倾向于执行高水平的抽查,以查看系统是否按照他们期望的方式运行,然后将他们送到野外。当大多数读者得知这些公司的产品在该领域遇到问题时,可能不会感到惊讶。作为嵌入式开发人员,我们不能仅仅因为我们没有看到系统行为不当就认为我们的代码工作正常。我们的代码需要全面测试!全面测试意味着:
l 高水平的测试用例已经被验证
l 单元测试已经执行
l 已执行集成测试
l 代码覆盖测试已经完成,以验证每一行代码都在测试期间执行
l 系统跟踪分析,以验证时间、性能和系统行为是正确的,而不仅仅是对用户来说是正确的。
如果一行代码在测试期间没有被执行,就没有办法知道这一行代码是否包含有一天当用户使用系统时会出现的错误。
结论
提高代码质量不一定是一项重大的、昂贵的任务。这些建议很容易实现,甚至可以在几周或几个月内完成。最终结果将是更高质量的软件,提供更好的用户体验,同时降低嵌入式开发成本。