阿里巴巴Java开发规约插件p3c详细教程及使用感觉

做者:13
GitHub:https://github.com/ZHENFENG13
版权声明:本文为原创文章,未经容许不得转载。html

阿里巴巴Java开发手册

在进入正题介绍这款插件以前,首先来谈一下《阿里巴巴Java开发手册》,2017年年初,首次公开的阿里官方Java代码规范标准手册能够说是引发了全民(IT界)代码规范的热潮,相信这个手册不少行业内的朋友都比较熟悉,毕竟有"大厂光环",想低调都难,这个手册的愿景是:java

"统一规范标准将有助于提升行业编码规范化水平,帮助行业人员提升开发质量和效率、大大下降代码维护成本"git

终极版

至今为止已更迭了三个版本,2017年9月25日,《阿里巴巴Java开发手册(终极版)》正式发布,也是阿里官方对外发布的最后一个PDF版本。最新版下载地址在这里github

插件介绍

《阿里巴巴Java开发手册》自从第一个版本起,倍受业界关注,相信不少人对其中的规则也有了必定的了解,不少人甚至但愿能尽快在本身的团队推行起来,这样你们有了一套共同的开发准则。可是,如何更好的去遵照规则而且按照手册去开发咱们的系统确变得不那么容易,为了让开发者更加方便、快速的将规范推进并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(IDEA、Eclipse), 该插件在扫描代码后,将不符合《手册》的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,提高代码质量,提升团队研发效能。markdown

代码已经开源,GitHub:https://github.com/alibaba/p3cide

咱们来体验一下吧!工具

插件使用简易教程(基于IDEA)

搜索插件

打开IDEA,选择Preferences - Plugins - Browse repositories后,在输入框中输入"alibaba",能够看到返回结果中有"Alibaba Java Coding Guidelines"。
search
在一周前开始构思这篇文章时,已经有16340的下载量了,如今应该更多了,赞一下。
installpost

安装插件

点击插件详情中的"install"按钮,按照其提示便可完成安装,安装完成后需重启IDEA。ui

功能体验

安装后完成后,须要重启IDEA,重启后就能够在菜单栏中看到它的功能按钮,有三种方式能够扫描代码:编码

  • 在项目目录上右键点击也会出现这两个功能按钮,点击绿色的按钮便可开始扫描代码,或者在工程目录上右键也会出现检测的功能按钮。
    check
  • 若是不想所有扫描,只扫描当前编辑的文件的话,在当前文件面板中点击右键也会出现此功能按钮。
    check2
  • 前面说的两种方式是手动检测,插件也提供了实时监测的功能,此功能默认开启,一旦开启则会在你编写代码时就会实时监测,一旦有不符合规范的语句就会出现错误提示。
    check3
    因为大括号不规范的问题,if下方有错误红线的提示。
    check4
    idea中有quick fix快捷键:option/alt+enter,点击后则能够自动添加大括号。

扫描代码后,不符合规约的代码会按Blocker/Critical/Major三个等级显示在下方面板中,如图:
check-result
左边是扫描出的不符合规范的代码,依次点进去能够看到是代码的多少行出现了规约问题以及哪个规约问题,右边则是规约的详细描述及实例代码。
critical
不只如此,右侧还有quick fix的按钮,点击后直接能够改正代码,可是并非全部的问题都有此按钮,有些问题仍是须要手动修改。

支持版本

IDEA官方仓库:最低支持版本14.1.7,JDK1.7+
Eclipse版插件:支持4.2(Juno,JDK1.8+)及以上版本

检测更新

能够经过 Help >> Check for Udates 进行插件新版检测

插件卸载

在插件面板点击"uninstall"便可。

使用感觉

并无在插件刚出来的时候整理这篇文章,而是使用了一段时间后才决定写这篇文章,目前已经使用了一个多星期,总体的感受还算满意,多是一开始的要求和期待有点高了,使用后以为也就那样,100分的话给80分吧(我的意见,不用太在乎),其中10分是由于中文的缘由,哈哈哈哈。

先整理一下比较明显的优势:

  • 中文提示,且按照《阿里巴巴Java开发手册》给出详细的提示和解释,看起来真的很舒服。
  • 可以检测出一些平时不在乎的问题,能够提升开发编码过程当中对于细枝末节的注意。
  • quick fix,检测出问题后点击一下按钮便可完成代码的修改。
  • 基本知足代码规范检测的需求。

缺点嘛,也存在:

  • 只支持IDEA和Eclipse,且对版本有要求。
  • 有错别字(小问题)。
  • 有bug。

目前此插件还处于第一个公开版本,因此确定还有一些小问题或者小bug,之后应该会慢慢修复的,可是已经基本知足代码审查的需求了,用起来也比较满意。不过,一些容易产生空指针异常的语句和问题,好像并不能检查出来,只是知足基本的代码质量检测,若是要求较严格的话,仍是须要使用SonarQube这种较专业的工具来进行代码质量检测和分析,相比较而言,p3c较为基础,SonarQube较为齐全一些,不过这种比较也是不对称比较,目前来看,二者根本不是一个量级的工具。

多说几句,此插件所使用的规范为阿里公布的那套规范,确定与其余规范有少量的出入和不一样,记得在阿里这份规范公布时,有人甚至在评论区用"八股文"来形容它,我感受没这么恐怖吧,规范嘛,你遵照了就是规范,你不遵照它算个什么东西啊,各家有各家的规范,也不可能彻底统一,选择适合本身的就好,不必上纲上线,言尽于此,不找骂了。

总结

推荐一下本身的达人课,感兴趣的朋友能够看一下:SSM搭建精美实用的管理系统

gitchat

是否是使用了这个插件以后就可以让咱们的代码中少一些Bug?是否是咱们就能少踩一些坑?答案确定不是,插件只有检测和提示做用,真正的编码者依然是本身,因此不要本末倒置,这只是一个工具而已,这种想法必定不能存在,真正要写出健壮代码最重要的还在于编码者本身。

首发于个人我的博客,2017年10月22日。

转载于:https://www.cnblogs.com/han-1034683568/p/7682594.html