《阿里巴巴 Java 开发规约》自动化检测插件安装及体验
2017 开春之际,有助于提高行业编码规范化水平的《阿里巴巴 Java 开发手册》首次面世。汇聚阿里集团近万名技术精英的经验知识,这套高含金量的手册一经公开,便引起业界普遍关注和学习。
历经数次迭代更新,终于在九月份,这套手册迎来终极版,也是阿里官方对外发布的最后一个 PDF 版本。与此同时,也正式面向海外发布英文版。
10 月 14号,在杭州云栖大会上,历经 247 天的持续研发,《阿里巴巴 Java 代码规约》扫描插件正式发布!这套规范将以插件的形式公开走向业界,引领 Java 编程语言的规范开发之路。
阿里巴巴也提供一个 Apsara Clouder 基础技能认证之阿里巴巴编码规范,帮助大家证明你的编码风格是否合格。考试地址如下:
https://edu.aliyun.com/certification/cldt02?utm_content=m_30791

不得不说,阿里作为一个有担当的企业真的是为业界做了很多。这不,担心很多程序员只是纸上谈兵、停留在理论学习上,为了将规范实实在在地应用到真实项目的开发当中,基于这套手册,阿里巴巴研发出这份自动化 IDE 检测插件。并将其开源在 GitHub 网站上面,地址如下:
https://github.com/alibaba/p3c
项目包含三个部分:
PMD implementations
IntelliJ IDEA plugin
Eclipse plugin
下面以IntellJ IDEA为例,详细演示此插件的安装及使用过程:
依次打开 [Preferences],[Plugins],[Browse repositories],搜索 alibaba 关键字,便能一键安装插件:

安装完成后,重新IDEA。
IDE重启完成后,在某个java文件或者工程上右键点击菜单,发现多了两个菜单:

点击编码规约扫描菜单后,插件就会启动代码扫描,并将结果展示在IDE下方:

如上图所示,代码中违反编码规约的地方都进行了标注,同事对于违反了具体哪一条编码规约也给出了提示,非常人性化。

点击某一条具体的规约,会在右侧显示出违反规约的具体的代码。
《阿里巴巴 Java 开发规约》自动化检测插件安装及体验的更多相关文章
- 阿里巴巴Java开发规约扫描插件-Alibaba Java Coding Guidelines 在idea上安装使用教程
经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件!该插件由阿里巴巴P3C项目组研发.P3C是世界知名的反潜机,专门对付 ...
- 阿里巴巴 Java 开发规约插件初体验
阿里巴巴 Java 开发手册 又一次来谈<阿里巴巴 Java 开发手册>,经过这大半年的版本迭代,这本阿里工程师们总结出来避免写出那么多 Bug 的规范,对于 Java 开发者简直就是必备 ...
- 《阿里巴巴Java开发规约》插件使用介绍
一.简介 阿里巴巴于10月14日在杭州云栖大会上,正式发布了<阿里巴巴Java开发规约>扫描插件!该插件基于<阿里巴巴Java开发规约>手册内容,在扫描代码后,将不符合规约的代 ...
- AS 阿里巴巴Java开发规约 CheckStyle-IDEA
Alibaba Java Coding Guidelines 简介 github地址:https://github.com/alibaba/p3c 官方文档 阿里巴巴Java开发手册(纪念版) ...
- 阿里巴巴Java开发规约及插件安装
[上海尚学堂编辑整理]10.14日,阿里巴巴在杭州云栖大会上,正式发布了由阿里巴巴 P3C 项目组,经过 近一年的持续研发,正式发布众所期待的 <阿里巴巴 Java 开发规约>的扫描插件. ...
- 阿里巴巴Java开发规约插件安装使用指南
编码规范插件安装使用指南 阿里技术公众号于今年的2月9日首次公布<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,后又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放 ...
- 阿里巴巴Java开发规约插件-体验
插件有哪些功能? 阿里技术公众号于今年的2月9日首次公布<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,上月底又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放出来 ...
- 【Z】扩展阿里巴巴Java开发规约插件
https://blog.csdn.net/u014513883/article/details/79186893 1.前言 工作中难免会遇到维护别人代码的情况,那么首先就得看懂别人写的代码.如果对方 ...
- 扩展阿里巴巴Java开发规约插件(转)
转自:https://blog.csdn.net/u014513883/article/details/79186893 1.前言 工作中难免会遇到维护别人代码的情况,那么首先就得看懂别人写的代码.如 ...
随机推荐
- flutter Card卡片列表组件
一个 Material Design 卡片.拥有一个圆角和阴影 import 'package:flutter/material.dart'; import './model/post.dart'; ...
- 编写第一个dart程序hello dart
/* 入口方法的两种定义方式 main(){ print('hello dart'); } */ ///这也是一个注释 //表示main方法没有返回值 void main(){ print('hell ...
- k8s记录-ntpd时间同步配置(五)
1)服务端配置 在192.168.0.1 root用户下操作 yum install -y ntp ntpdate 修改etc/ntp.conf 注释所有的server和restrict 加入: se ...
- Python动态构造类:借助强悍的内建 type()
内建的 type() 函数带三个参数时, 将作为强悍的动态类构造器. 如下: type(name, bases, dict) 返回一个新的type对象. 基本上是 class 语句的动态形式. 参数: ...
- nginx client_body_buffer_size
http://www.bubuko.com/infodetail-1760832.html 上传文件过大时,nginx会报链接里面的warn,请求body写磁盘到缓存文件,导致性能降低,可适当调大该参 ...
- hdu 2018 母牛的故事 动态规划入门题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2018 设 f[i][j] 表示第i天年龄为j的母牛个数,其中j=4代表所有年龄达到4岁的成年母牛,则: ...
- Ubuntu18使用netplan设置网络
参考:https://my.oschina.net/u/2306127/blog/2877106 https://blog.csdn.net/peyte1/article/details/805090 ...
- Django: ORM查询中使用or查询
先引入Q,(原名就叫Q) from django.db.models import Q page_user = User.objects.filter(Q(member_code__contains= ...
- bootstrap-switch:记一次很坑的问题(连续相同状态的多行数据只有第一个显示按钮,其他行没有开关初始化)
先上截图,第234行都是禁用状态,但是只有第2行显示了禁用开关,后面的都没有开关初始化 检查下代码: onLoadSuccess: function(data){ {#获取行数据的状态#} conso ...
- logstash 和filebeat 是什么关系
因为logstash是jvm跑的,资源消耗比较大,所以后来作者又用golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder.不过作者只是一个人,加入http://el ...