让我们从一个运动类比开始,以帮助说明这两种方法之间的差异。静态代码分析类似于练习网和投球机练习棒球挥杆。最小的惊喜。经过几次挥杆后,您每次都知道球的确切位置。这有助于处理基础知识并确保您拥有良好的形式。虽然这有助于改善你的游戏,但它只能让你到目前为止。
动态代码分析更像是练习你的挥杆与现场投手,每个球场的类型和位置的变化。它不仅测试您的基本面,还测试您对不同的意外情况作出反应的能力。在生产中完成时,就像在装载底座的情况下在第9洞的底部完善你的挥杆。我是否提到过这个分数与2个出局相关?赌注很高。
现在,让我们从技术角度比较和对比两种不同的风格。
静态代码分析
静态代码分析是一种通过在程序运行之前检查应用程序的源代码来完成调试的方法。这通常通过针对给定规则集或编码标准分析代码来完成。
这解决了什么?
这些通常会解决代码漏洞,代码异味和遵守普遍接受的编码标准。这些包括常见的开发人员错误,这些错误通常由“Code Peer Reviews”找到。
在SDLC(软件开发生命周期)的哪个阶段,我们可以使用静态代码分析吗?
这些通常包含在“代码开发”阶段之后和“单元/组件/集成”测试阶段之前的任何阶段。在某些情况下,CI / CD管道将静态分析报告作为代码促销的质量门。
优点
除了其他好处之外,识别代码中的弱点并遵守严格的开发标准的能力有助于减少潜在的