提高软件质量的10个要点






1.80/5 (4投票s)
达到更好软件质量的 10 个建议,架构师、开发、设计、经理、质量保证
引言
随着项目越来越大,出现质量问题的可能性也随之增加。这些质量问题可能是什么:太多错误、运行时间过长、内存使用过多、难以理解/难以修改的编码风格等等。这些质量问题通常会使用户对您的程序感到不满,并且会降低开发速度。不幸的是,您永远无法消除所有质量问题,但您可以通过遵循以下要点来避免其中大部分。当然,这些解决方案需要花费大量时间,但最好及时采取这种努力,而不是在修复错误上浪费相同的时间。
1. 需求分析
在开始开发之前,您需要确保您的程序应该做什么 100% 清楚。当然,在这里您需要考虑诸如需求的相互兼容性,或者是否可以实现所有需求,是否存在某些硬件限制之类的问题。
老实说,大多数错误都来自简单的误解:客户对功能有不同的理解,而开发人员也有不同的理解。
这就是为什么以清晰的书面形式记录这些需求,并让客户阅读并接受它们是好的。
2. 软件设计
如果需求很明确,仍然不要从编码开始。首先考虑解决方案,考虑应该如何实施?需要使用哪些算法?代码的哪一部分可以重用?可以使用哪些库?不同的组件和类将如何相互通信?等等……
通过这种规划,您可以预先发现并避免将来可能出现的许多问题。以文本和/或 UML 图的形式记录您的设计。
3. 编码规范
如果多个开发人员在同一代码上工作,请始终制定一个定义要使用的编码风格的编码规范(函数和变量的命名、括号的使用等),以便您的代码具有统一的、易于阅读的风格。
4. 定期审查
与其他团队成员一起进行设计和代码审查。他们可以很容易地发现您思维方式或代码中的错误。不要让任何代码在未经审查的情况下合并。
5. 静态代码分析
使用静态代码分析工具。这些工具在不运行的情况下分析您的源代码。他们可以发现许多可能的问题,例如未初始化的变量、永远无法满足的条件、无法访问的代码部分等等。他们也可以检查编码风格。
6. 单元测试
为您的代码实现单元测试。一个好的单元测试运行速度快,并且测试您代码的一小部分(单元)。单元测试可以帮助您确保在每次更改时,您没有破坏已经正常运行的功能,并且它们可以帮助其他程序员理解您的代码是做什么的,因为从单元测试中,他们可以看到预期的行为是什么。
7. 组件和系统测试
不要忘记对您的组件或系统进行一些更高级别的测试。这基本上是一个黑盒测试,因此您不是基于代码进行的,而是基于需求进行的。您可以轻松地检查您的组件是否满足需求。也请务必考虑边界情况。这些测试也可以是手动或自动的。自动化测试的优点是您可以稍后随时运行测试。
8. 持续集成
设置一个带有 CI 系统(如 Jenkins)的持续集成服务器,让它运行夜间构建,并在每次更改时检查您的代码。您也可以集成静态分析器和自动化测试,以便在每次提交后,您都会收到一个自动反馈,了解您的软件是否运行良好。
9. 错误跟踪
在错误跟踪器系统(例如:Mantis)中跟踪您已经发现的错误。对于每个错误,记录如何重现它们以及它们与预期行为有何不同。如果一个错误被修复了,您也可以简要地记录修复的解决方案,以避免将来出现相同类型的错误。通过这种方法,您将永远不会忘记任何错误。
10. 性能分析和内存使用情况
为了能够保持您的软件的性能,您需要定期测量其运行时。为此,您可以使用任何性能分析工具。通过这种方法,您还可以发现使用最多运行时的部分。您还需要检查您的工具的内存使用情况。为此,始终尝试定义从计算角度来看最困难的场景。