SonarQube是一个自我管理的自动代码审查工具,系统地帮助您交付整洁的代码。作为我们Sonar解决方案的核心元素,SonarQube集成到您现有的工作流程中,并检测代码中的问题,以帮助您对项目进行持续的代码检查。该产品分析30多种不同的编程语言,并集成到您的持续集成(CI)管道中,以确保您的代码符合高质量标准。
编写整洁的代码
整洁的代码是所有能够产生安全、可靠和可维护软件的标准,因此,编写整洁的代码对于维护健康的代码库至关重要。这适用于所有类型的代码:源代码、测试代码、基础架构代码、粘合代码、脚本等。有关详情,请参阅整洁的代码。
Sonar的边写代码边整理代码方法消除了在开发过程的后期阶段审查代码时出现的许多问题。这种方法使用您的质量门在您的新代码(已添加或更改的代码)中发现需要修复或审查的问题时向您发出警告/提醒,使您能够保持高标准并专注于代码质量。
使用 Solar 来进行开发
SonarQube解决方案在开发过程的每个阶段都进行检查:
- SonarLint 在您编写代码时即时提供反馈,以便您在提交之前找到并修复问题。
- SonarQube的PR分析与您的CI/CD工作流程相匹配,通过使用质量门限来进行PR分析。
- 质量门限阻止具有问题的代码发布到生产环境中,这是帮助您采用“随时编写清洁代码”方法的关键工具。
- 采用随时编写清洁代码方法,您可以专注于提交新的、清洁的代码用于生产,因为您知道现有的代码将随着时间的推移而改进。
了解更多有关SonarQube检测的问题类型。
组织从默认设置的规则和指标开始,称为Sonar way质量配置文件。这可以根据项目进行定制,以满足不同的技术要求。分析中提出的问题与质量配置文件中定义的条件进行比较,以建立您的质量门限。
quality gates是代码质量的指标,可以配置为在当前发布版本的代码是否符合标准给出“是/否”信号。它指示您的代码是否干净且可以继续前进。
- 通过(绿色)通过的质量门限意味着代码符合您的标准,并且可以合并。
- 未通过(红色)的质量门限意味着存在问题需要解决。
SonarQube通过其用户界面、电子邮件以及在拉取请求或合并请求上的装饰(在商业版本中)提供反馈,通知您的团队存在问题需要解决。在运行连接模式的SonarLint支持的IDE中也可以获取反馈。SonarQube还提供了关于问题的深入指导,告诉您每个问题为何是问题以及如何解决它,为所有经验水平的开发人员添加了有价值的教育层面。然后,开发人员可以有效地解决问题,因此只有在代码干净且通过了质量门限时才会推广代码。
入门
既然您已经了解了SonarQube如何帮助您编写干净的代码,您可以准备自己尝试一下SonarQube。您可以运行一个本地的非生产实例的SonarQube并进行初始项目分析。安装本地实例可以让您迅速启动和运行,以便您可以第一手体验SonarQube。然后,当您准备在生产环境中设置SonarQube时,您需要安装服务器,然后配置您的第一个代码分析。
分析源代码部分解释了如何设置所有分析类型,包括如何分析项目的分支和拉取请求。