SonarQube整合阿里开发规范

一、sonarqube简介

  Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。

通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地

在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

二、代码质量检测规划

   随着代码量的增多,服务模块的拆分,代码越来越难进行管理,质量与效率的矛盾慢慢凸显出来,而人为的管理代码质量,耗时耗力。因此实现自动化工具检测势在必行,

平台规划使用云端和本地结合的方式实现代码质量的管控。云端Git + Jenkins + Sonar执行自动代码质量分析,研发人员在Git提交代码后,会自动触发Jenkins构建项目,构建

项目前,自动触发Sonar检测代码质量,并将结果展示在页面。本地研发人员提交代码前,先用编码规范进行代码检测,检测没有异常,才能提交代码。

   Sonar本身提供了大量的代码检测规则,但是很多规则并不影响代码的质量和效率。目前业界比较好的java代码规范是阿里发布的《阿里巴巴java开发手册》,而二者也可以很方便的集成在一起。

   本地代码检测规则和云端Sonar的配置的规则应保持一致,Sonar提供了IDE开发工具插件sonarLint,可以将sonarQube服务上配置的规则同步到开发工具上。但是目前Sonar并不支持自定义规则的同步,所以需要先在开发工具装安装阿里的p3c编码规范插件,然后从中选择平台适用的规范。目前这是折中方案,后续将继续研究如何将第三方的规则从sonarQube上同步到本地IDE中,使自定义规则的同步更方便。

   推荐使用Idea进行研发,idea可以自定义配置需要的代码检查规则。

一、pmd插件整合阿里开发规则

sonar-pmd是sonar官方的支持pmd的插件,但是还不支持p3c,需要在pmd插件源码中添加p3c支持(p3c是阿里在pmd基础上根据阿里开发手册实现了其中的49开发规则)。

源码下载地址:https://github.com/mrprince/sonar-p3c-pmd

此源码工程已经添加了P3C支持,直接mvn package打包即可。

打好jar包后拷贝到sonar的plugins目录下:

|

sonarQube_Home/extensions/plugins

|

重启sonarQube,进入sonarQube后,选择“代码规则”菜单,在页面中,选择“Java”,搜索框中搜索“p3c”,右侧列表能显示规则则导入成功

注意:注意SonarQube版本匹配问题,当前SonarQube 7.2社区版

image.png

二、配置阿里开发规则

选择“质量配置”菜单,点击“创建”按钮

image.png

在弹出的页面出输入配置名称并选择编程语言,创建配置

image.png

进入配置页面后,点击“更多激活规则”,可以进入规则选择页面

image.png

语言选择“Java”,并在搜索框中输入“p3c”,查找出之前导入的阿里编码规则

image.png

点击需要添加的规则后的“活动”按钮,可以将此条规则激活,加入创建的质量配置中

image.png

点击“活动”按钮的弹出框中可以选择此条规则的适用严重程度

image.png

三、设置Java和项目的质量配置

选择“质量配置”菜单,在页面中选择刚才创建的质量配置,点击配置按钮选择“设为默认”,可以将

该质量配置设置为java默认配置,提交的java代码会自动被质量配置中的规则进行质量检查

image.png

如果不设置未默认,也可以点击刚才创建的质量配置,在跳出的页面中选择“修改项目”,来添加

适用该质量配置的项目

image.png

IDEA添加阿里编码规范

打开IDEA的Settings


image.png

选择Plugins,右侧选择Alibaba Java Coding Guidelines,并install


image.png

重启IDEA后,可以看到Tools下已有阿里编码规约

image.png

二、IDEA选择适用的阿里编码规范

打开IDEA的Settings,选择Inspections,在右侧的界面中Copy一个Profile并改名,与系统的Profile进行区别。

Leavel 是Project Leavel,用橡皮檫清空原来的选择的规则后选择Ali-Check下的规则,Ali-Check分类下即是

阿里巴巴的编码规范。

image.png

配置好Ali-Check后,可以选择将Profile导出,其他同事可以直接导入使用

image.png

三、IDEA使用配置的编码规范进行代码检测

选择Analyze下的Inspect Code菜单

image.png

在弹出的界面中选择配置的Ali-Check进行检测

image.png

检测结果会显示在IDEA的下方

image.png

也可以在想要检查的类上右击,Analyze→Inspect Code,进行当前类的检测

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 141,558评论 1 298
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 60,739评论 1 254
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 93,327评论 0 211
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 40,752评论 0 174
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 48,452评论 1 252
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 38,617评论 1 171
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,286评论 2 267
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,083评论 0 165
  • 想象着我的养父在大火中拼命挣扎,窒息,最后皮肤化为焦炭。我心中就已经是抑制不住地欢快,这就叫做以其人之道,还治其人...
    爱写小说的胖达阅读 28,839评论 6 227
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 32,413评论 0 213
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,186评论 2 213
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 30,506评论 1 223
  • 白月光回国,霸总把我这个替身辞退。还一脸阴沉的警告我。[不要出现在思思面前, 不然我有一百种方法让你生不如死。]我...
    爱写小说的胖达阅读 24,171评论 0 31
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,049评论 2 213
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 31,417评论 3 202
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,588评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 25,942评论 0 163
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 33,392评论 2 228
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 33,499评论 2 229

推荐阅读更多精彩内容