SonarQube不太流行的时代已经过去了很长时间。 如今,人们已将其视为……的实际工具。
等一下! SonarQube到底是什么? 我曾多次被要求帮助人们安装和配置SonarQube,但令我惊讶的是,他们中的大多数人对SonarQube是什么不太了解。 事情变糟时,文章像这样的 (从一个非常著名的公司)的误导更是那些有兴趣在代码质量和想玩弄SonarQube。
回到基础,让我告诉您SonarQube不是什么。
- SonarQube不是构建工具。 期。 有一些工具,例如Maven,Ant,Gradle等,在该领域做得非常出色。 SonarQube希望在您分析项目之前,已使用您喜欢的构建工具对其进行了编译和构建。
- SonarQube不是(仅)不是静态代码分析器:它不能替代FindBugs或CPPCheck或任何其他类似的工具。 相反,它不仅提供了自己的静态代码分析机制来检测违反编码规则的行为,而且还与我提到的外部工具集成在一起。 结果是,您可以在一个报告中将各种静态和动态分析工具检测到的所有问题均一化。
- SonarQube不是代码覆盖工具:显然不是。 再次将其与最流行的测试覆盖率工具(例如JaCoCo,Cobertura,PHPUnit等)集成在一起,但它自身不会计算代码覆盖率。 它读取预先生成的单元测试报告文件,并在极为方便的仪表板上显示它们。
- SonarQube不是代码格式化程序。 不允许以任何方式修改您的代码。 但是,您可以通过启用要遵循的CheckStyle,CPPCheck,ScalaStyle规则来获取格式建议。
- SonarQube并不是运行您的夜间构建的持续集成系统:您可以将其与最流行的CI引擎集成以应用持续检查,但它不能替代它。
- SonarQube不仅是另一个手动代码检查工具。 的确,SonarQube提供了一种非常强大的机制来促进代码审查,但这并不是一个独立的功能。 它与问题检测机制紧密相关,因此每个代码审阅都可以轻松地与问题代码的确切部分以及导致该问题的开发人员相关联。
那么,SonarQube是什么?
这是一个代码质量管理平台,允许开发人员团队管理,跟踪并最终提高源代码的质量。 它是一个基于Web的应用程序,可保留各种指标的历史数据,并为 开发人员的 所有七个致命错误提供领先和滞后的指标趋势 。
我真的希望这篇文章能解决SonarQube周围的所有问题,并帮助人们从第一天开始就了解它的价值。
翻译自: https://www.javacodegeeks.com/2014/09/what-sonarqube-is-not.html