1、Sonar是什么
Sonar是一个代码质量管理的开源平台,用于管理源代码的质量,经过插件形式,能够支持包括java、C#、JavaScript等二十余种编程语言的代码质量管理与检测。java
Sonar是从七个维度检测代码质量,而做为开发人员至少须要处理前5中代码质量问题。web
一、不遵循代码标准数据库
sonar能够经过PMD,CheckStyle,Findbugs等代码规则检测工具规范代码编写编程
二、潜在的缺陷tomcat
sonar能够经过PMD,CheckStyle,Findbugs等代码规则检测工具检测出潜在的缺陷 服务器
三、糟糕的复杂度分布架构
文件、类、方法等,若是复杂度太高将难以改变,这会使得开发人员难以理解它们,且没有自动化的单元测试,对于程序中的任何组件的改变都将可能致使须要全面的回归测试编程语言
四、重复工具
显然程序中包含大量复制粘贴的代码是质量低下的,sonar能够展现源码中重复严重的地方单元测试
五、注释不足或者过多
没有注释将使代码可读性变差,特别是当不可避免出现人员变更时,程序的可读性大幅度降低,而过多的注释又会使得开发人员将奖励过多的花费在阅读注释上,亦违背初衷
六、缺少单元测试
sonar能够很方便地统计并展现单元测试覆盖率
七、糟糕的设计
经过sonar能够找出循环,展现包与包、类与类之间相互依赖关系,能够检测自定义的架构规则 经过sonar能够管理第三方的jar包,能够利用LCOM4检测单个任务规则的应用状况,检测耦合。
---------------------------------------------- 分割线-------------------------------------------------
2、相关工具
一、sonarqube
sonarqube是sonar的服务端,至关于一个web服务器,用来发布应用,在线浏览、配置分析等。目前官网最近版本为sonarqube-6.3。sonarqube以下所示。怎么样?有没有很面熟的感受?是否是和tomcat特别像呢?
下面简单说一下每一个文件夹的做用
bin:sonarqube运行命令文件夹
conf:sonarqube配置文件夹
data:嵌入式数据库的数据(H2数据库引擎),建议只用于测试和演示
extensions:sonarqube的插件等存放文件夹
lib:sonarqube存放的运行库文件夹(jar)
logs:sonarqube日志文件夹
temp:sonarqube临时文件夹
web:sonarqube系统UI界面文件夹
二、sonarqube-scanner
sonarqube-scanner至关于sonar客户端,目前最新版本为sonar-scanner3.0。sonarqube-scanner以下图所示。每一个文件夹的做用和sonar相似,具体不在赘述。
三、sonarlint
SonarLint至关于sonar的一个插件,它及时反馈给开发人员新的bug和质量问题。是经常使用IDE的一个扩展。如Eclipse、VS、IntelliJIDEA。
3、总结
Sonar是基于Java开发的,所以运行Sonar天然须要JDK。Sonar5.6以上版本须要JDK1.8。
关于sonar的基础理论知识暂时先介绍到这里,若有错误或不足之处,欢迎你们及时指正,不胜感激。预知sonar实战,且听下回分解。
---------------------
摘自:https://blog.csdn.net/qq_26545305/article/details/70224916