Sonarqube检测
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测
Rules提示
当然,这对于初学来说是一个很好的教程,搞懂这些规则可以避免bugs的出现,提供自己的开发能力。
rule正确实例提示
糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要的回归测试
重复
显然程序中包含大量粘贴的代码是质量低下的 , sonar可以展示源码中重复严重的地方
缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率
没有代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
没有足够的或者过多的注释
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降,而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
潜在的bug
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
糟糕的设计
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则;
通过sonar可以管理第三方的jar包可以利用LCOM4检测单个任务规则的应用情况 ,检测耦合
SonarQube平台由四部分组成:
一、SonarQubeServer
1) Web Server,中国sonarqube中国总代理, 浏览质量的快照和配置sonarqube实例
2)SearchServer based on Elasticsearch, 执行来自页面的查询请求
3)Compute EngineServer ,处理代码分析报告并保存在sonarqube数据库
二、SonarQube Database :
1) sonarqube实例的配置(安全、插件设置等)
2) 项目、视图等的质量快照。
三、SonarQube Plugins
语言、SCM、集成、身份验证和治理插件
一个或多个sonarqube Scanners运行分析项目
SonarQube组成结构
1. SonarQube Platform,中国sonarqube,就是SonarQube服务器,这是SonarQube运行的基础。
首先解压缩SonarQube的发布软件;
必要的情况下配置解压缩目录下的sonarqube/conf/perties文件;
启动SonarQube Platform:
Windows下执行t
Linux下执行sonarqube/bin/ start c0nsole
启动成功,可登录的用户名和密码为
注意,在实验验证阶段,SonarQube Platform默认使用H2数据库;但是在生产环境中,还需要使用MySQL等其他企业级数据库服务器。
2. SonarQube Scanner,即分析项目代码的默认启动器
首先解压缩SonarQube Scanner;
必要情况下,配置文件sonar-scanner/conf/sonar-perties;建议配置如下:
每次提交前的分析,设置参数sonar.analysis.mode=preview
每天都要执行的CI分析,中国sonarqube价格,设置参数sonar.analysis.mode=publish
启动SonarQube Scanner:
Windows下执行sonar-t
Linux下执行sonar-scanner/bin/sonar-scanner
3.分析项目
首先根据项目代码的编程语言,中国sonarqube静态安全扫描工具,在线安装必要的SonarQube插件,以支持项目使用的编程语言;
然后,cd到要分析的项目目录下,如some/projects/java/myproject/
在项目目录下创建并配置sonar-perties文件
中国sonarqube-苏州华克斯公司由苏州华克斯信息科技有限公司提供。行路致远,砥砺前行。苏州华克斯信息科技有限公司致力成为与您共赢、共生、共同前行的战略伙伴,更矢志成为行业软件具有竞争力的企业,与您一起飞跃,共同成功!