Java代码格式化规范实践总结

目标说明

统一良好的代码格式规范可以有效提升开发团队之间的「协作效率」,如果不同的开发团队或者开发人员采用不同的代码格式规范,那么每次Format代码都会导致大量的变化,在Code Review及Merge代码时会带来很多的干扰项。因此制定本代码规范希望达成以下目标:

  • 统一Java代码格式规范,确保团队成员间「代码风格一致」;
  • 保证Format代码时不会引入格式上的干扰;
  • 提升团队协作效率、Code Review效率;

怎么实施

在Java代码规范方面目前Google Java Code Style在业界使用得比较广泛。它的优点如下:

  • 业界比较通用;
  • 有比较完善的自动化校验工具及checkstyle配置文档;

为了满足「代码的美感」,借鉴其他公司的定制经验,根据马蜂窝的内部需求,我们进行了一些小的定制,具体变化如下:

  • 修改intellij-java-google-style.xml中的内容:

  • INDENT_SIZE 2 4 行缩进
    TAB_SIZE 2 4 TAB缩进
    CONTINUATION_INDENT_SIZE 4 8 换行缩进
    RIGHT_MARGIN 100 120 单行的长度
    JD_PRESERVE_LINE_FEEDS true 注释中保留手动的换行
    KEEP_LINE_BREAKS true Java代码中,保留手动的换行
  • 修改intellij-java-google-style.xml文件下载:

intellij-java-google-style.xml

使用方式

使用代码规范主要干两件事:

  • 代码格式化,可以实现自动化的代码格式化操作;
  • 代码校验,代码格式的自动校验;

代码格式化

1)、先下载上面的「intellij-java-google-style.xml」文件保存至本地目录;

2)、设置配置文件,路径:IntelliJ IDEA → Preference → Editor → Code Style,如下图所示:

3)、选择intellij-java-google-style.xml文件所在位置,选择OK

配置完code style后,在Mac下使用IntelliJ IDEA进行代码格式化,快捷键为「option+command+L」。

代码自动校验

  • 有了统一风格的代码格式,只是从基本格式上约定了大家的代码样式,而关于Java代码的编写规范由于每个人的习惯、代码编写经验都不相同,因此写出来的代码在类的命名规范、设计方面也会有很多的不同,而这也会影响到代码的整体质量。
  • 为了更好地规范大家的编程行为,可以通过IntelliJ IDEA插件的方式,实现代码的自动化检查节省人力(PS:蚂蚁、快手、摩拜等公司在团队开发过程中都在使用CheckStyle进行自动化代码检查)。
  • 参考目前市面上最有影响力的Java编程规范当属阿里推出的《阿里巴巴Java开发手册》,目前该手册已经成为很多团队的开发标准。下载链接:阿里巴巴Java开发手册终极版v1.3.0.pdf
  • 比较方便的是基于该手册已经开发了IntelliJ IDEA插件,可以在写代码时实时对常见的代码书写错误或者可能留坑的地方进行提示,非常有用。

接下来通过截图的方式演示如何使用「Alibaba Java Code Guidelines插件」进行代码校验:

安装Alibaba Java Code Guidelines插件

可以通过直接通过Jetbrians官方仓库安装,由于网络关系,这里选择手工安装方式

1)、下载最新版本「Alibaba Java Coding Guidelines插件」

http://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines/versions

2)、IntelliJ IDEA → Preference→Plugins,选择「install Plugin from Disk...」

完成后,选择重启IntelliJ IDEA。

3)、重启后选择Tools就看到插件了,这里我们选择「切换语言至英文」,再次重启IntelliJ IDEA

使用插件实施代码检测

目前该插件的代码检测模式有两种:实施检测、手动触发。

实时检测

实时检测功能在开发过程中对当前文件进行检测,并以高亮的形式提示出来,例如定义一个错误命名的抽象类,提示如下:

该功能默认开启,也可以通过配置关闭,建立大家保持开启状态,以时刻矫正自己!有些规则也实现了Quick Fix功能,可以通过快捷键「Option+Enter」呼出Intention菜单,不同的规则会提示不同信息的Quick Fix按钮。

代码扫描

可以通过右键菜单、Toolbar按钮、快捷键三种方式手动触发代码检测。

例如,对某个代码文件进行规约检测:

也可以对整个项目进行规约扫描,例如:

扫描结果如下:

代码提交检测

在代码提交时也可以进行检测设置,如下:

这样提交时也会进行规约检测(ps:关于是否提交时重新格式化代码,建议在编写代码的同时进行格式化,而不要在这里进行格式化)!

QA

1、如何对项目整体进行代码Format?

选中要Format的代码目录,快捷键"option+command+L"。

2、设置Save Actions代码保存时自动格式化

为了方便时时刻刻都执行代码格式化操作,这里设置IDEA Save Actions功能,具体步骤如下:

1)、安装Save Actions插件,如下图所示:

2)、打开设置,找到Save Actions设置,勾选如下图所示三个复选框,这样每次保存代码时就能自动进行格式化,并且还会去掉无用import引入

参考资料:

https://github.com/alibaba/p3c/blob/master/idea-plugin/README_cn.md

https://github.com/google/styleguide

原文地址:https://www.cnblogs.com/wudimanong/p/12331166.html

时间: 2024-10-09 21:39:18

Java代码格式化规范实践总结的相关文章

Java学习---Java代码编写规范

编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规范作相应修改. 2 适用范围本文档将作为java编程人员软件开发的编程格式规范.在项目Java部分的编码.测试及维护过程中,要求严格遵守. 3 命名规范定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失. 3.1 Package 的命名Packa

java代码注释规范-----转载-----http://blog.csdn.net/shiyuezhong/article/details/8205281/

1 代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下我们在诉求网二期开发中使用的代码注释规范,供大家参考下. 2 3 原则: 4 1.注释形式统一 5 6 在整个应用程序中,使用具有一致的标点和结构的样式来构造注释.如果在其它项目中发现它们的注释规范与这份文档不同,按照这份规范写代码,不要试图在既成的规范系统中引入新的规范. 7 8 2.注释内容准确简洁 9 10 内容要简单.明了.含

IDEAL葵花宝典:java代码开发规范插件 lombok 插件

前言: lombok简介: lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. 那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段, 然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是

正确理解Java代码编写规范

本文从Java代码编写的初期到结尾,做了一次整体的总结,希望对初学者有帮助. 1.命名很重要 一个错误的命名会很误导人,不良的命名,对于阅读代码的人来说很纠结.一个良好的命名对自己也有很大的帮助. 我个人命名的变量都比较长,一般是单词的全称,这样代码读起来易懂,有些缩写你根本不知道它代表的单词是什么,除了像id代表identifier,org代表organization这些大家常见的缩写命名. 命名一个方法时候,最好能让大家见名知意,看到名字就能猜出你的功能,而不需要去看方法的注释,甚至是读源码

Eclipse代码格式化规范

附件()是Eclipse代码格式文件,根据以下步骤导入到Eclipse中,帮助规范代码格式. 导入步骤:1. Window -> Performances2. Java -> Code Style -> Formatter -> Import3. 选择导入文件,如:java-style.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <

IDEA java 代码格式化统一

Intellij idea 安装格式化插件 ECLIPSE CODE FORMATTER:1,安装插件:网络安装:选择Setting =>Plugins=>Browse repositories,搜索Eclipse即可出现,点击左上角的Download and Install安装. 2,配置插件:选择Setting =>Eclipse Code Formatter,勾选Use the Eclipse-code-formatter,并在Eclipse Java Formatter conf

高质量JAVA代码编写规范

1. Java 命名约定 除了以下几个特例之外,命名时应始终采用完整的英文描述符.此外,一般应采用小写字母,但类名.接口名以及任何非初始单词的第一个字母要大写. 1.1 一般概念 * 尽量使用完整的英文描述符 * 采用适用于相关领域的术语 * 采用大小写混合使名字可读 * 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一 * 避免使用长的名字(小于 15 个字母是个好主意) * 避免使用类似的名字,或者仅仅是大小写不同的名字 * 避免使用下划线(除静态常量等) 1.2 示范 * 包(P

IDEAL葵花宝典:java代码开发规范插件 Rainbow Brackets 插件

前言: 最近在Jetbrains IDEA插件网站逛发现了 Rainbow Brackets这款插件,非常棒,推荐给大家. 可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能. 对增强写代码的有趣性和排错等都有一些帮助. 安装步骤: 1):打开 Settings---->Plugins---> 进行搜索--->选择---->"Alibaba Java Coding Guidelines" ----> install: 安装插件:点击插件详情中的&qu

高性能Java代码的规范

尽量指定类.方法的final修饰符Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化.此举大概能够使性能平均提高50%. 尽量重用对象特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替. 尽可能使用局部变量. 原文地址:https://www.cnblogs.com/luao/p/10848777.html