Facebook|Java代码的四个静态分析器概术


Facebook|Java代码的四个静态分析器概术
文章图片
开发人员通常需要各种“助手”——包括静态代码分析器 , 利用它们可以在开发的早期阶段发现并修复有缺陷的代码 。 感兴趣的同学可以参加java培训 , 你可以了解一些静态分析器并学会使用它们 。
IntelliJIDEA内置分析器
【Facebook|Java代码的四个静态分析器概术】IntelliJIDEA中内置的Java代码静态分析器与专门的静态分析工具一样好 。 通过检查来搜索可疑、杂乱或有缺陷的代码片段 。 他们使用各种现代静态分析方法:数据流分析和模式匹配 。
由于静态分析一直在代码编辑模式下运行 , 因此在IntelliJIDEA中 , 你可以在错误发生几秒钟后修复错误 , 编辑器突出显示有缺陷的代码片段 。
SonarJava SonarJava是SonarSource提供的Java静态代码分析器 , 它将此工具定位为其他工具中最好的一个 。 在java培训中 , 也有关于这个分析器的学习与使用 。 SonarJava 的特征有:
150+错误检测规则;
350+检测代码气味的规则;
40+检测潜在漏洞的规则;
与Maven、Gradle、Ant、Eclipse、IntelliJIDEA、VS代码的集成;
能够扩展自定义诊断规则;
SAST专用工具:大多数诊断规则是根据CWE、CERT、OWASP制定的 。
PVS-Studio
PVS-Studio是基于Spoon开源库 。 它接收源代码作为输入 , 建立了一个具有语义信息的设计良好的AST模型 。
目前 , 这个分析器使用超过105条诊断规则来检测各种代码缺陷 。 它们包括打字错误、取消对空引用的引用、无法访问的代码、数组索引超出范围、违反方法使用约定等 。 通过参加java培训 , 你能在短时间学会java的很多知识和技能 , 包括静态分析器的使用 。
PMD
PMD是一个开源的静态分析器 。 它检测常见的开发错误:未使用的变量、空块、创建不必要的对象等等 。
尽管PMD分析了源代码 , 但还是建议在分析之前构建项目 。 这允许提取有关所分析代码中使用的类型的信息 。
如果我们查看所有的诊断规则 , 那么PMD更关注于解决编码风格问题和检测明显错误 。 诊断规则可能相互矛盾 , 因此你需要在使用分析仪之前对其进行配置 。
到目前为止 , 有许多工具可用 , 它们各有优缺点 , 但不要只停留在一个分析器上 , 使用几个相互补充的分析器-它们可以创建一个强大的屏障 , 保护你的代码不受bug和漏洞的影响 。 想学习怎么使用这些分析器 , 不妨报个java培训班 , 有经验丰富的专业讲师线下面授指导教学 , 及时解决学习上的问题 , 让你获得快速提升 。