【代码质量管理工具】——sonar

   【前言】

   bug越改越多,程序一换数据就崩,这就是目前我们系统的一个现状。在这之前,进行过前后台代码规范整理,代码判空等工作,但这是人工检测的,有点慢,效率也比较低。当重新导入数据之后,模块大多都起不来了。于是乎,忍无可忍,我们就用了强大的代码质量工具——sonar来自动检测我们的代码,因为我们要写更安全,更优雅的代码。


   【sonar简介】

    sonar(SonarQube)是一个开源平台,用于管理源代码的质量,它不仅是一个质量数据报告工具,更是代码质量管理平台。它通过插件的形式来管理代码,它支持的语言包括:Java,PHP,C#,C等。


   【主要特点】

   sonar可以从以下七个维度来检测代码质量:


   1、不遵循代码标准

    sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具规范代码的编写;


   2、潜在的缺陷

    sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具检测出潜在的缺陷;


   3、糟糕的代码复杂度分布

    文件、类、方法等,如果复杂度过高将难以改变,这使得开发热女难以理解它们,且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试;


   4、重复

    显然程序中包含大量复制粘贴的代码质量低下的,sonar可以展示源码中重复严重的地方;


   5、注释不足或者过多

    没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅度下降;


   6、缺乏单元测试

    sonar可以很方便地统计并展示单元测试覆盖率;


   7、糟糕的设计

   通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以展示自定义的架构规则。通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用秦高,检测耦合。


   【sonar使用】

    由于架构师已经给咱们装好了sonarQube,咱们只需在Maven的配置文件的profiles节点中添加一个sonar的profile节点,就可以直接在项目中执行Maven build命令——clean verify soanr:sonar使用了,执行完了之后,在服务器上就可以看到我们测试的项目了:


   profile节点代码:

   

<profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://192.168.22.220:9000
                </sonar.host.url>
            </properties>
        </profile>

   测试完成的代码:


 

   

   A为最高级别,如果这几项全是A的话,那说明你写的代码真的是太棒了!!!


   点开每个项目,查看详情:

   1、bug,duplicatinos等列表:

    


   2、点开具体的某一项,显示所有的bug,或者有问题的地方。再继续往下点,就会看到我们有问题的代码了,也会给出我们相应的解决方案。


   


  【总结】


   通过两天的改bug,其实也就是改成规范的代码,说实在的,在改之前,我还不知道规范的代码原来应该是这样写的,虽然之前那样写也能够得到想要的结果,但是不是很安全,有潜在的缺陷。


   这两天,没学啥技术,但是也涨了不少知识,我的收获总体来说主要有以下三点:


   1、之前咱们看到的代码乱,写法不规范,重复性高等。这些代码sonar都可以检测到,并给出我们正确的解决方案,我们在解决问题的同时,也知道了规范性的代码应该如何写。


   2、sonarqube代码质量管理平台,是全英的,在解决问题的同时,我们又学到了英语。


   3、在这样反复的测试,修改,再测试的过程中,能够提高我们编写代码以及阅读代码的能力。


   今天要分享的都分享完了,接下来,继续改我的bug,fighting~

评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸运的梦之星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值