一.插件发布背景
2017年10月14日上午9:00 阿里巴巴于在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件,该插件在扫描代码后,将不符合《手册》的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能。
二.插件安装方式
通过Jetbrains官方仓库安装:
1. 打开 Settings >> Plugins >> Browse repositories...
2. 在搜索框输入alibaba即可看到Alibaba Java Code Guidelines插件,点击Install进行安装,然后重启IDE生效
离线方式,去官网plugins下载对应插件离线包:
地址:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines。
打开idea设置单击如图所示,找到对应的离线包即可
3.安装完以后重启idea,就可在plugin中找到该插件如图
三.插件使用
上面的tool bar的后面多了2个按钮,如下图,这2个按钮,还可以直接在当前文件内,右键,也是可以看到选项的。这是对单个文件操作。也可以,在左侧的Project目录树种点击右键,可以触发对整个工程或者选择的某个目录、文件进行检测。
下面是一张,实际分析一个Java文件代码的截图。
以上部分转载:
https://blog.csdn.net/qq_27093465/article/details/78338932
四.代码审查的方式:
1. pre-push:在提交合并代码之前,先进行审查,通过和才能合并。这是一种非常严格的审查方式,可以确保每个发布的代码都是已经被审查过的。这种放到在github上维护的开源项目极其合适,代码的所有者可以确保代码是在自己的控制范围。
2. post-push:代码提交后,再审查之前的代码。这是非常宽松的审查方式,审查的效果肯定是打折扣的,但是好处是可以忽略一些不必要的审查以节约时间。其实在国内这种没有太多工程师文化的地方,这种方式是比较好在早期推行的。
上面安装的阿里巴巴java规范插件就是属于 pre-push审查。
Pose-Push Review工具:
这个事情在团队中实行的话,是一定需要有个工具的,相关的工具有很多,审查方式也各有偏重。这里工具主要是解决了这几个问题:
1. 有一个更为直观的界面查看diff。
2. 可以基于工具进行简单的标记和通知,直接把标记写在代码里更利于沟通。
3. 可以知道哪些提交时已经被谁审查过了,方便审查的协作。
这里例举一些,供参考选择。
1. Gerrit:google的产品,名气很大,但是这个东西设计理念比较陈旧,据说也没有什么维护了,不推荐。
2. github pull request:这个当然很好,典型的pre-push方式,但是个人用也没太多协同的事情,团队用又觉得贵。其实感觉用bitbucket会经济实用些。
3. phabricator:facebook内部使用并开源出来的工具,大而全,功能超级强大,但相对的就是非常复杂,界面设计非常欧美的风格,运行速度也有点慢。
4. gitlab:如果是自己搭建的git server,这个是不错的选择,相当于自己弄了个github,就是配置环境会比较多工作量。
5. upsource:JetBrains的产品,只有post-push
的方式,但是从安装、界面、到使用都是挺不错的,唯一问题就是10个人以上要收费,而且还很贵。Upsource很符合轻量级 Code Review 的场景。
Upsource的安装和配置 :
https://blog.csdn.net/qijiqiguai/article/details/78321498