2023年12月11日发(作者:居间合同协议书范本)
静态代码和动态代码的区别_静态和动态代码分析之间有什么
区别,您如何知道使用哪个?...
让我们从一个运动类比开始,以帮助说明这两种方法之间的差异。静态代码分析类似于练习网和投球机练习棒球挥杆。最小的惊喜。经过几
次挥杆后,您每次都知道球的确切位置。这有助于处理基础知识并确保您拥有良好的形式。虽然这有助于改善你的游戏,但它只能让你到目
前为止。
动态代码分析更像是练习你的挥杆与现场投手,每个球场的类型和位置的变化。它不仅测试您的基本面,还测试您对不同的意外情况作出反
应的能力。在生产中完成时,就像在装载底座的情况下在第9洞的底部完善你的挥杆。我是否提到过这个分数与2个出局相关?赌注很高。
现在,让我们从技术角度比较和对比两种不同的风格。
静态代码分析
静态代码分析是一种通过在程序运行之前检查应用程序的源代码来完成调试的方法。这通常通过针对给定规则集或编码标准分析代码来完
成。
这解决了什么?
这些通常会解决代码漏洞,代码异味和遵守普遍接受的编码标准。这些包括常见的开发人员错误,这些错误通常由“Code Peer
Reviews”找到。
在SDLC(软件开发生命周期)的哪个阶段,我们可以使用静态代码分析吗?
这些通常包含在“代码开发”阶段之后和“单元/组件/集成”测试阶段之前的任何阶段。在某些情况下,CI / CD管道将静态分析报告作为
代码促销的质量门。
优点
除了其他好处之外,识别代码中的弱点并遵守严格的开发标准的能力有助于减少潜在的生产问题。这些还提供了“测试覆盖率”报告,描述
了代码的执行程度。
限制
在现实生活中,对“乔”有用的东西对“简”不起作用。静态代码分析对待它们都是相同的,因为它无法看到数据。
请考虑以下伪代码:
function getFullName(firstName) { if (firstName == “Joe”) return “Joe Smith” if (firstName == “Jane”) return “Dave”//这是不正确的业务逻辑 if (firstName != “Joe or J
在上面的示例中,静态代码分析不提供对开发人员意图的理解。用户希望“Jane”的全名“Jane Doe”获得“Dave”。任何其他名称都会
返回“Joey”。期望有效用户的任何下游应用程序现在都将面临运行时错误或异常。
像这样的问题很容易通过“静态代码分析规则”,JUnits,甚至“代码覆盖”报告。生产是“狂野的西部”,通常包含大量的商业口味。
“生产方案”不遵守任何给定的规则。
最后,自动静态代码覆盖工具通常会提供错误的安全感,以确保所有内容都经过验证。事实是,报告只能与管理它们的基本规则一样好。动态代码分析
动态代码分析是通过在程序运行期间或之后检查应用程序来进行调试的方法。由于源代码可以使用各种不同的输入运行,因此没有一套给定
的规则可以涵盖这种风格。
这解决了什么?
这些解决了由于业务环境的变化而发生的运行时漏洞。例如,上面的代码片段将通过动态代码分析进行标记。像OverOps这样的工具可以
更进一步。
1. 对于每个运行时事件,OverOps会回答发生的事情,发生的时间以及发生的原因。
2. OverOps支持对多个方面的所有运行时异常进行检测,分类和优先级排序。
在SDLC(软件开发生命周期)的哪个阶段,我们可以使用动态代码分析吗?
这些可以在多个地方使用。
1. 对于生产,动态代码分析提供的信息可帮助快速排除生产事故。
2. 对于预生产,动态代码分析可防止不良代码投入生产。这些可以与CI / CD工具结合使用,作为代码促销的质量门。
优点
在生产中,动态代码分析有助于提供应用程序问题的可见性,减少生产事件的MTTI。Overops更深入 - 使用变量值确定源代码的确切违规
行。
限制
如果代码没有运行,则不会对其进行分析。此外,动态代码分析不能执行静态代码分析工具的功能,最好与它们结合使用。
结论
就像在机器和活投手上练习挥杆一样,这些方法是相辅相成的。静态代码分析通常会在动态代码分析无法解决的未执行代码中发现问题。同
时,动态代码分析涵盖了静态分析所不具备的生产方案。
整理不易,请大家多多评论转发并且关注我,您的鼓励是我最大的动力。
本文发布于:2023-12-11 19:13:24,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/170229320440860.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:静态代码和动态代码的区别_静态和动态代码分析之间有什么区别,您如何知.doc
本文 PDF 下载地址:静态代码和动态代码的区别_静态和动态代码分析之间有什么区别,您如何知.pdf
留言与评论(共有 0 条评论) |