mileOfSunshine / blog

2 stars 0 forks source link

sonar 调研报告 #36

Open mileOfSunshine opened 3 years ago

mileOfSunshine commented 3 years ago

SonarQube 是什么?

SonarQube(最初称为Sonar)是一个开源平台,用于管理源代码的质量。SonarQube不只是一个质量数据报告工具,更是代码管理平台。支持 27 种语言,可以通过使用插件机制与 eclipse 和 JIRA 等其他外部工具集成,从而实现了对代码的质量的全面自动化分析和管理。 SonarQube可以通过PMD, CheckStyle, FindBugs等等代码规则检测工具来检测你的代码,帮助发现代码的bug、code smells等信息。

SonarQube的工作原理

通过不同的插件算法来对结果进行再加工,最终以量化的方式来衡量代码质量。

SonarQube在进行代码质量管理时,会从七个维度来分析项目质量:

SonarQube可以支持 27 种编程语言,针对不同的编程语言其所提供的分析方式也有所不同:

  1. 对于所有支持的编程语言,SonarQube都提供了元代码的静态分析功能;
  2. 对于某些特定的编程语言,SonarQube提供了对编程后代码的静态分析功能,比如Java中的class file 和 jar,C# 中的dll file 等;
  3. 对于某些特定的编程语言,SonarQube 还可以提供对于代码的动态分析功能,比如 Java 和 C# 中的单元测试的执行等。

代码质量是所谓的非功能性需求的一部分,因此是开发人员的直接责任。因为代码质量不应该推迟到以后,所以我们的解决方案在开发过程的每个步骤(从IDE到发行版)(包括任何中间促销活动)中都提供反馈。

这使开发人员可以就代码质量做出早期且受过良好教育的决策,使他们能够做得更好,并交付更好的软件。

mileOfSunshine commented 3 years ago

sonar 入门文章