近期困惑于团队成员代码风格迥异,代码质量不可控,作为一名老司机,忧患于后期服务的可维护性,多次一对一的代码Review,耗时耗力不说,效果也不明显。痛定思痛,多次反思之后得出结论:无规矩不成方圆,可靠的服务必须建立在统一的代码风格基础之上,仅仅提倡是远远不够的,必须使用有效的可执行机制,确保最终效果。
 
这里的可执行机制包含以下几个方面:
 
(1)有统一的代码风格约束要求;
(2)IDE辅助检查代码风格约束是否满足,实时检测提醒;
(3)构建项目过程强制检查代码风格约束是否满足,如不满足,终止构建;
 
本篇简要记录以“Google Java Code Style”作为代码风格约束的实践。
 
1.Google Code Style Guide
 
 
2.IDEA配置Google Style
 
IntelliJ IDEA --> Preferences... --> Editor -> Code Style --> Java --> Import Scheme --> IntelliJ IDEA code style XML
 
 
 
 
 
这一步配置完成之后,格式化代码时会使用“Google Java Code Style”的样式进行格式化处理,如:代码缩进。
 
3.IDEA配置CheckStyle-IDEA Plugin
 
(1)安装CheckStyle-IDEA Plugin;
 
IntelliJ IDEA --> Preferences... --> Plugins
 
 
 
(2)配置CheckStyle-IDEA Plugin使用“Google Java Code Style”;
 
IntelliJ IDEA --> Preferences... --> Other Settings --> Checkstyle
 
 
这一步配置完成之后,IDEA会实时检测代码风格是否满足“Google Java Code Style”,如不满足会有异常提醒。
 
4.Maven配置checkstyle Plugin
 
在Project或Moudle pom.xml中进行如下配置即可:
 
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
      <version>3.0.0</version>
      <executions>
        <execution>
          <id>validate</id>
          <phase>validate</phase>
          <configuration>
            <configLocation>google_checks.xml</configLocation>
            <encoding>UTF-8</encoding>
            <consoleOutput>true</consoleOutput>
            <failsOnError>true</failsOnError>
            <violationSeverity>warning</violationSeverity>
          </configuration>
          <goals>
            <goal>check</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
 
这一步配置完成之后,项目构建过程(如: mvn clean package)会检测代码风格是否满足“Google Java Code Style”,如不满足会终止构建过程。
 
5.Default file template
 
 
 
/**
* @author ${USER}
*/
 
这一步配置完成之后,用于统一JavaDoc风格。

Java Code Style的更多相关文章

  1. 在IntelliJ IDEA中配置Google Java Code Style及代码格式化快捷键

    google-java-format plugin should intercept the “Reformat Code” action in IDEA (Ctrl+Alt+L) and apply ...

  2. Eclipse setting Java code style and codetemplate

    1.open the eclipse tool window First click the Window menu,then check the children's menu which name ...

  3. checkstyle.xml Code Style for Eclipse

    1. Code Templates [下载 Code Templates] 打开 Eclipse -> Window -> Preferences -> Java -> Cod ...

  4. Use formatter to format your JAVA code

    In order to make the codes looks unified and make it easy to understand, it's better to use the same ...

  5. intelij IDEA设置goole code style风格

    1.安装google-java-format 插件      file ->Setings... ->pligins     输入上诉插件安装 2.下载IntelliJ Java Goog ...

  6. Intellij IDEA 配置 Code Style

    前言 昨天自说自话,闲扯了界面设计和代码规范.设计确实需要一些经验,也不一定能取悦所有人.而代码规范却是程序员所起码应当做到的,多人协作中,杂乱的代码就好像批阅潦草的作文,可读性极差. 然而这是个懒人 ...

  7. 【Idea】idea code style配置eclipse code formatter

    在eclipse中有自动配置code style的功能 ,但是idea上却没有,这个时候需要自己手工配置 1. 在idea中找到Preference->Plugins->Browse re ...

  8. Manage, Administrate and Monitor GlassFish v3 from Java code usingAMX &amp; JMX

    http://kalali.me/manage-administrate-and-monitor-glassfish-v3-from-java-code-using-amx-jmx/ Manage, ...

  9. 与你相遇好幸运,The Moe Node.js Code Style Guide

    The Moe Node.js Code Style Guide  By 一个最萌的开发者 @2016.9.21 >>代码是人来阅读的,格式规范的代码是对编程人员最好的礼物 :) > ...

随机推荐

  1. iOS中发送短信/发送邮件的实现 韩俊强的博客

    需要引入框架: MessageUI.framework 布局如下: 短信和邮件: #import "ViewController.h" #import <MessageUI/ ...

  2. React Native入门教程2 -- 基本组件使用及样式

    在上一篇文章中,我们学会了如何搭建React Native的环境(React Native入门教程(笔记) 1 – 开发环境搭建),不知道你们是否搭建好了呢,如果还没有,那么快动起小手,来体验RN带给 ...

  3. 【IOS 开发】Object-C 运算符

    博客地址 : http://blog.csdn.net/shulianghan/article/details/41624613 1. 算术运算符 算术运算符 : 加(+), 减(-), 乘(*), ...

  4. Cocos2D旋转炮塔到指定角度(二)

    增加如下代码到ccTouchesEnded方法中,就在你在导弹精灵上调用runAction之前: // Determine angle to face float angleRadians = ata ...

  5. Gitflow工作流程

    在工作场合实施Git的时候,有很多种工作流程可供选择,此时反而会让你手足无措.本文罗列了企业团队最常用的一些Git工作流程,包括Centralized Workflow.Feature Branch ...

  6. Linux IPC实践(5) --System V消息队列(2)

    消息发送/接收API msgsnd函数 int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); 参数 msgid: 由ms ...

  7. 常用Petri网模拟软件工具简介

    常用Petri网模拟软件工具简介 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World:       http://www.informatik.uni-hamburg. ...

  8. OC学习之道:关于Block的初级学习

    [objc] view plaincopy "code" class="OC"> // //  main.m //  Copyright (c) 2015 ...

  9. 下载Ext JS 5.1 gpl版本的方法

    先进入官网:http://www.sencha.com 然后在导航的Products中选择Sencha Ext JS,会看到以下页面: 这时候不要单击Download按钮,而是要单击导航中的DETAI ...

  10. (四十四)TabBarController和NagivationController配合

    如果既要使用TabBar分页,又要使用Nagivation导航,那么只能是TabBar为根,Nagivation为TabBar子视图,每一个TabBar对应一个Nagivation导航的一系列页面. ...