zoukankan      html  css  js  c++  java
  • Alibaba Java Coding Guidelines,以后我的Java代码规范,就靠它了

    前言

           对于Java代码规范,业界有统一的标准,不少公司对此都有一定的要求。但是即便如此,庞大的Java使用者由于经验很水平的限制,未必有规范编码的意识,而且即便经验丰富的老Java程序员也无法做到时刻将规范牢记于心。所以对于代码规范扫描工具,一经问世就广受青睐,阿里巴巴出品的Alibaba Java Coding Guidelines(阿里巴巴Java代码规约扫描,以下简称为AJCG)插件便是其中之一。与很多其它流行的同类工具(如FindBugs,Lint等)相比,它更专注于Java代码规范,而且默认采用中文,对于英文没那么好的开发者而言,这无疑是一种福利。本文将结合Android Studio(以下简称AS),介绍一下该插件的使用。

    一、AJCG简介

           为了让开发者更加方便、并且达到快速规范代码格式的目的并实行起来,阿里巴巴基于《阿里巴巴Java开发规约》手册内容,研发了一套自动化的IDE检测插件,它就是Alibaba Java Coding Guidelines 插件。2017年10月14日杭州云栖大会,AJCG全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示出来,并且大部分可以自动修复。它还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。

    二、在AS中安装AJCG插件

           与其它的插件一样,AJCG插件也提供了直接在AS的仓库中安装和手动离线安装两种方式。

      1、直接从AS的插件库下载安装

           至于如何在AS插件库中安装插件,在我的另外一篇介绍FindBugs的文章【https://www.cnblogs.com/andy-songwei/p/11820564.html】中已经介绍过了,这里就不赘述了。简单说一下就是

      File > Settings > Plugins > Browse repositories 搜索 “Alibaba Java Coding Guidelines”,按照提示进行安装,然后重启即可。

      2、手动下载并从磁盘安装

           请从如下地址获取离线安装包:

           链接:https://pan.baidu.com/s/19MPJ-CVfZvf4K_PVXY8g6Q

           提取码:it10 

    三、使用AJCG

      1、启动AJCG扫描 

           大致可以通过如下两种方式启动AJCG进行扫描(好像还有别的启动方式,咱们知道这两种方式就够了):

        (1)可以Tools > 阿里编码规约 > 编码规约扫描

        (2)在编辑界面或者AS左边的项目区域点击右键,在右键菜单中选择“编码规约扫描”即可。  

           

      2、菜单功能

           第一种启动方式比第二张多一项功能,这三项列表功能如下:

        (1)编码规约扫描:开始扫描代码。

        (2)打开/关闭实时检测功能:实时检测代码,顾名思义,对代码进行实时检测。一般机器性能比较好的话可以开启这项功能,如果已经开启,这里会显示“关闭实时检测功能”。

        (3)切换语言至英文:中英文切换。

      3、执行结果 

           扫描完成后显示结果如下(如果当前鼠标点击的是最终项,右边区域显示的是其它的内容,后面会再讲到): 

       

      4、指定区域搜索同一类问题

           当点击③处的按钮时,会弹出如下按钮:

     

     这里选择扫描区域,来扫描鼠标选中的同类问题。如果按照默认选择,那么运行后的结果就是:

     这里我们可以看到,显示了整个Project中的所有该类的问题。

      5、预览具体的不规范代码

           在第3点的执行结果中,如果点击的是最终的问题点或者问题所在的类文件,那显示的就是如下界面,预览该处不规范的代码。

     

    四、工具栏功能介绍

           工具栏的这些功能经常会用到,这里简单对每一个功能简单介绍一下:

      (1)Rerun Inspection: 重新运行一次扫描

      (2)Close:关闭真个AJCG面板

      (3)Expand All:展开结果的树状结构,整个结果是树状结构的。

      (4)Collapse All:收起结果的树状结构

      (5)Go Pre Problem:选择上一个问题

      (6)Go Next Problem:选择下一个问题

      (7)Help:帮助

      (8)Group by Serverity:(不知道如何描述)

      (9)Group by derectory:按目录分组/按类名分组间切换

      (10)Filter resoled items:过滤掉已经解决的项

      (11)Autoscroll to Source:自动滚动到源码

      (12)Export:导出,可以导出为XML和HTML两种格式

      (13)Edit Settings:编辑设置

    五、扫描结果

           该部分区域显示了执行结果,由于是设置的中文版,所以这里显示的都是中文,这看起来非常爽。

           我们可以看到Blocker(阻挡者)、Critical(严重问题)、Major(主要的)三个大类,他们表示的是问题的严重程度,严重程度由高到低为:Blocker > Critical > Major。至于每一类中都会包含什么样的问题,图中的中文已经说明了一切,这里就不赘述了。

    福利

           这提供一份《阿里巴巴Java开发手册(纪念版)》电子文档

           链接:https://pan.baidu.com/s/1z2u1ITJGJvgsJqrgq_AYwQ

           提取码:v9ja

    结语

           本文只介绍了AJCG常见的一些使用方法,一定还有很多很牛的功能,希望读者们多多探索,多多交流,共同进步,谢谢!

    出处:https://www.cnblogs.com/andy-songwei/p/11823957.html

  • 相关阅读:
    用initconnect+binlog实现用户操作追踪【转】
    INSERT INTO … SELECT 的锁【转】
    Memcached 高可用方案 Repcached
    关于MySQL建表对DML的影响【转】
    NoSQL之【memcached】学习
    关于MySQL insert into ... select 的锁情况
    MySQL数据库诊断——InnoDB关机问题 【转】
    Your document is being created
    Failure to Get Sequential Numbering Profile Option
    Runtime error '1004'
  • 原文地址:https://www.cnblogs.com/mq0036/p/11824191.html
Copyright © 2011-2022 走看看