sonar入门指南

 开发人员的七宗罪

  1. 糟糕的复杂度分布
    文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,
    且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试
  2. 重复\\显然程序中包含大量复制粘贴的代码是质量低下的,
    sonar可以展示源码中重复严重的地方
  3. 缺乏单元测试
    sonar可以很方便地统计并展示单元测试覆盖率
  4. 没有代码标准
    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
  5. 没有足够的或者过多的注释
    没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降
    而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
  6. 潜在的bug
    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
  7. 糟糕的设计(原文Spaghetti Design,意大利面式设计)
    通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系
    可以检测自定义的架构规则
    通过sonar可以管理第三方的jar包
    可以利用LCOM4检测单个任务规则的应用情况
    检测耦合

 

      随着工作代码质量要求越来越高,团队人员逐步扩大,GIT库每天上传的代码量也越来越多,

这个时候问题来,代码规范,代码质量成了一个比较难维护管理,初步尝试过很多基于ide的工具,

例如checkstyle,findbug等工具,但是无法形成统一的平台报表,也不方便对研发bug、开发质量

的问题的统计,通过查阅相关资料,以及看到itchina的推荐sonar代码质量管理平台。

      sonar,管理java源代码的质量,可以集成不同的测试工具,代码分析工具,例如checkstyle,findbug,jenkins,maven等流行构建工具,对分析的结果进行加工处理,分析代码需要优化完善地方,以及相关可以预计的bug,便于开发统一模式,加强开发上的细节问题。

       sonar5.1 的具体的安装教程详细请查看附件《sonar使用手册.docx》,在这里我主要描述的下sonar的客户端和服务端的大概的安装流程,使用思路,做任何事情,先确定前期的思路路线总是很重要,避免踩更多的坑

 

       sonar服务安装的流程:

       配置jdk---->sonar安装---->数据库安装---->配置sonar的数据库连接信息---->运行sonar平台----->web查看分析报表。

       客户端sonar的分析流程:配置jdk---->sonar-runner安装---->配置环境变量---->配置数据库访问信息----->配置需要进行分析的项目信息---->运行命令sonar-runner;

 

       那些年,我们一起踩过的坑?

       1.sonar5以上需要安装sonar-runner客户端,之前都是可以继承maven的sonar插件的,通过 mvn sonar:sonar 可以直接生成报表,导致我在这块浪费很多时间去继承maven项目,直到发现附件的sonar教程(百度文库某哥们整理的,充分感谢)sonar-runner客户端可以直接生成代码审查报表,方便省事,比maven插件好用多,避免代码审查侵入项目。

        2.sonar常用参数整理,避免理解太过于复杂,其实sonar的考核参数还是比较容易理解的,常用主要如下:

         常用参数:

    复杂度:简单归结于方法中包含“if、for、while、case、||、&&、?”等块的数目时,复杂度会加1,如果复       杂超过10,sonar认为是一个严重的问题。

    重复快:重读的代码块数;

    代码块:含有if, else, while, do, for, switch, break, continue, return, throw, synchronized, catch, finally等关键字的语句;

    违规级别:次要、主要、严重、阻塞;

       3.sonar客户端的配置信息,必须要和服务端保持一致;

 

        注意:附件《自动化审查工具指南.ppt》主要介绍了checkstyle,findbug,sonar工具的使用,以及相关截图;

                   附件《Sonar参数分析.docx》对sonar参数指标的相关的解释。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值