【代码质量管理工具】--使用sonarLint提高代码质量

来源:互联网 发布:厦门千象品牌策划 知乎 编辑:程序博客网 时间:2024/06/16 12:48

【背景】

       项目组,在12月份的时候使用了强大的代码质量管理工具--Sonar来检测规范我们的代码,但是当时使用的时候会有一个缺陷,就是我每使用一次maven命令将代码扫描到sonarqube的网页端,按照网页端的分析提示来进行代码修改,修改完成之后,再次执行maven命令,进行分析,修改……如此,反复的一个过程,直至我们的代码质量为优!当时项目组就有人提出来,每当在sonarqube中看到bug的时候,就想在网页上直接修改代码,这样及时生效,多方便呀!


       当时没有怎么研究这个东西,也就没有当回事儿,后来在查找sonarqube相关资料的时候发现了--sonarLint一个IDE 的插件,可以与sonarqube的服务端相连接,使用其所有的配置。我们不再使用maven命令,就可以在本地进行代码的修改,然后看到修改的效果。


【sonarlint简介】


        SonarLint is an extension to your favorite IDE that provides on-the-fly feedback to developers on new bugs and quality issues injected into their code.

       The most important thing is :on-the-fly feedback--即时反馈

        其实,它就是一个插件,我们可以在idea,eclipse, Visual Studio中下载此插件来进行代码检测。


【sonarlint的配置使用】


    一、下载sonarlint插件


      下载插件就不用详细介绍了吧,相信经常使用eclipse的童鞋们都会下载。

       eclipse-->help-->Eclipse Marketplace--find(sonarlint)-->install,等待安装完成即可。


     二、sonarlint配置

        首先将sonarlint的视图调出来。

        eclipse-->Window-->Show View-->other-->SonarLint

        其中sonarlint有5个视图,分别为:SonarQube Servers,SonarLint Issue Locations,SonarLint On-The-Fly,SonarLint Report,SonarLint Rule Description.


       (1)SonarQube Servers


        连接sonarqube服务,点击Connect to a Sonarqube server,补充完整URL,Name,Username,password,然后点击完成。


       


         OK,配置成功,sonarlint仅需要配置这一步,就可以使用sonarqube服务的所有配置。并且,如果sonarqube的服务配置有修改,sonarlint也会同步更改的。


       (2)sonarlint Report(可以显示当前工程,或所有工程)


           代码不规范的事项列表


         

      点击每一项,即可跳到对应的代码上,进行相应事项的代码修改,保存,sonarlint Report会自动检测变更并刷新列表。做到了即时反馈。


     (3)sonarqube Rule Description


       选择sonarlint Report中的某一事项,右击,选择rule description.显示出此事项的问题所在,以及正确的代码应该如何编写等。就和我们在sonarqube页面上看到的是一样的。




    (4) sonarlint on-the -fly


       显示的是当前打开的文件的不规范代码描述。



     (5)SonarLint Issue Locations


          显示的是issue的具体位置。


          至此,和sonarlint相关的内容基本上介绍完了,我们就可以使用sonarlint高效规范我们的代码啦!当然,我们还可以,选中项目,右击,选择sonarlint-->anaylaze changed files,进行此项目所有代码的检测。


【对比】


         eclipse中也有其他的一些插件用来检测代码质量的,例如checkstyle,findbugs,PMD等。其实,sonarqube是集成了这些插件来进行代码规范检测的。哪个功能强大,更方便就不用说了吧。


【总结】


sonarlint适用于开发人员开发时检测自己的代码的,没有强制要求,代码很可能会有一定的风险,所以下一步的目标就是,如果sonarlint检测出来的代码有Major这样的bug就不让其提交代码,这样能够保证SVN服务器上代码的质量。


0 0
原创粉丝点击