阿里巴巴 Java 开发规约插件初体验
阿里巴巴 Java 开发手册
又一次来谈《阿里巴巴 Java 开发手册》,经过这大半年的版本迭代,这本阿里工程师们总结出来避免写出那么多 Bug 的规范,对于 Java 开发者简直就是必备开发利剑了。
针对这个手册,我之前也简单写过两篇简单的解读,手册的确是清晰的说明了日常开发中很容易踩的坑,我不要脸的把链接放一下:
这一次,阿里巴巴于 10 月 14 日在杭州云栖大会上,正式发布众所期待的《阿里巴巴 Java 开发规约》扫描插件!
简单了解一下这插件
该插件由阿里巴巴 P3C 项目组研发。P3C 是世界知名的反潜机,专门对付水下潜水艇,寓意是扫描出所有潜在的代码隐患。
代码已经开源,GitHub:https://github.com/alibaba/p3c
阿里介绍文章:https://mp.weixin.qq.com/s/IbibsXlWHlM59kfXJqRvZA#rd
据说插件支持了IDEA、Eclipse,在扫描代码后,将不符合规约的代码显示出来,甚至在 IDEA 上,我们还基于 Inspection 机制提供了实时检测功能,编写代码的同时也能快速发现问题所在,还实现了批量一键修复的功能。
那我就在 IDEA 下试一下吧。
IDEA 下如何使用?
1.打开 IDEA ,选择 File - Settings - Plugins - Browse repositories
打开 IDEA,选择 File - Settings - Plugins - Browse repositories 后,输入 alibaba 选中 Alibaba Java Coding Guidelines,点击 Install,截至目前已经快有了三千的安装量了。

2.重启IDEA,开始使用
安装后,会提示你重启 IDEA 已启用插件,重启后就可以在你的项目上疯狂点击右键吧,当然菜单栏也会出现俩按钮,它有个快捷键是Ctrl+Shift+Alt+J,你也可以试试看。

当然,选中某一个类,或者在这个类里边右键也可以

3.扫描出坏代码
扫描代码后,将不符合规约的代码按 Blocker/Critical/Major 三个等级显示在下方,双击可以定位至代码处,右侧窗口还有针对代码的批量修复功能,简直不能更 666 了。

稍微解释下Blocker/Critical/Major三个等级,在 Snoar 中对代码规则有五个级别,这是前三个,翻译下就是:崩溃/严重/重要 ,也就是说前两级别是必须要处理掉的。
Eclipse 如何安装插件?
Eclipse 版插件支持4.2(Juno,JDK1.8+)及以上版本,我们提供自主的Update Site,通过 Help >> Install New Software 然后输入https://p3c.alibaba.com/plugin/eclipse/update
即可看到安装列表。大家可以通过 Help >> Check for Udates 进行插件新版检测
我没有在 Eclipse 上体验,你们有 Eclipse 的可以试试看。
总结一下
这个插件可以说对规范代码有重大意义,可以使我们少写一些 Bug,少抛一些异常,少踩一些坑,但真正要写出健壮代码最重要的还在于我们自己,这个插件还存在很多问题,一些容易产生 NPE 的级联调用、空对象什么的,好像它并不能检查出来,依赖工具永远是不可能解决所有问题的。
当然,它的中文版对我们是无比友好的。
阿里巴巴 Java 开发规约插件初体验的更多相关文章
- 【Z】扩展阿里巴巴Java开发规约插件
https://blog.csdn.net/u014513883/article/details/79186893 1.前言 工作中难免会遇到维护别人代码的情况,那么首先就得看懂别人写的代码.如果对方 ...
- 扩展阿里巴巴Java开发规约插件(转)
转自:https://blog.csdn.net/u014513883/article/details/79186893 1.前言 工作中难免会遇到维护别人代码的情况,那么首先就得看懂别人写的代码.如 ...
- 阿里巴巴Java开发规约插件-体验
插件有哪些功能? 阿里技术公众号于今年的2月9日首次公布<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,上月底又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放出来 ...
- 阿里巴巴Java开发规约插件安装使用指南
编码规范插件安装使用指南 阿里技术公众号于今年的2月9日首次公布<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,后又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放 ...
- 阿里巴巴Java开发规约插件p3c详细教程及使用感受
阿里巴巴Java开发手册 在进入正题介绍这款插件之前,首先来谈一下<阿里巴巴Java开发手册>,2017年年初,首次公开的阿里官方Java代码规范标准手册可以说是引起了全民(IT界)代码规 ...
- 阿里巴巴Java开发规约插件全球首发!(转)
https://mp.weixin.qq.com/s?__biz=MzI0NTE4NjA0OQ==&mid=2658355901&idx=1&sn=3169172bfc6819 ...
- 阿里巴巴Java开发规约插件
就在今天 10月14日上午9:00 阿里巴巴于在杭州云栖大会<研发效能峰会>上,正式发布<阿里巴巴Java开发手册>扫描插件,该插件在扫描代码后,将不符合<手册>的 ...
- IDEA阿里巴巴Java开发规约插件使用
前言 2017年2月9日,首次公布<阿里巴巴Java开发手册>; 2017年9月25日,阿里巴巴集团发布了<阿里巴巴Java开发手册>PDF终极版; 2017年10月14日,在 ...
- 阿里巴巴Java开发规约插件使用
10月14日上午9:00 阿里巴巴于在杭州云栖大会<研发效能峰会>上,正式发布<阿里巴巴Java开发手册>扫描插件,该插件在扫描代码后,将不符合<手册>的代码按Bl ...
随机推荐
- 定时任务之crontab命令
1.简介 crontab用于设置周期性被执行的命令 Linux系统中Linux调动工作分为两大类: 1.系统执行的工作:系统周期性所要执行的工作,如备份系统数据.清理缓存 2.个人执行的工作:某个用户 ...
- 201521123066《Java程序设计》第八周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结** 用cont ...
- 201521123049 《JAVA程序设计》 第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. ###1.类型转换(cast):是将两种不同类型的变量进行转换,但不能随意强制转换,随意强制 ...
- DNS原理总结及其解析过程详解
一.域名系统 1.域名系统概述 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址.域名系统其实就是名字系统.为什么不叫&quo ...
- Java课程设计—学生成绩管理系统(201521123005 杨雪莹)
一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...
- 201521123065《java程序设计》第9周学习总结
1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 出现的异 ...
- 201521123026 《JAVA程序设计》第12周学习总结
1. 本周学习总结 Q1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 Q1.将Student对象(属性:int id, String name,int age,d ...
- eclipse里index.jsp头部报错的原因和解决方法
index.jsp的头<%@这句报错的话,是因为没有引入Tomcat的原因.解决:A:Window---Preferences---server---RuntimeEnviroments--Ad ...
- Python爬虫2----------运用代理访问
为request添加一个代理,及将浏览器头部信息加入,随机从ip列表中拿出一个ip进行访问 注意函数参数的形式,如request.proxyhandler(协议,地址) import urllib.r ...
- 二分求最长上升子序列 二分LIS
#include <iostream> #include <cstring> #define N 50010 using namespace std; int n; int n ...