• Java Code Style


    近期困惑于团队成员代码风格迥异,代码质量不可控,作为一名老司机,忧患于后期服务的可维护性,多次一对一的代码Review,耗时耗力不说,效果也不明显。痛定思痛,多次反思之后得出结论:无规矩不成方圆,可靠的服务必须建立在统一的代码风格基础之上,仅仅提倡是远远不够的,必须使用有效的可执行机制,确保最终效果。
     
    这里的可执行机制包含以下几个方面:
     
    (1)有统一的代码风格约束要求;
    (2)IDE辅助检查代码风格约束是否满足,实时检测提醒;
    (3)构建项目过程强制检查代码风格约束是否满足,如不满足,终止构建;
     
    本篇简要记录以“Google Java Code Style”作为代码风格约束的实践。
     
    1.Google Code Style Guide
     
     
    2.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”,如不满足会有异常提醒。
     
    3.IDEA配置Google Style
     
    IntelliJ IDEA --> Preferences... --> Editor -> Code Style --> Java --> Import Scheme --> CheckStyle Configuration
     
     
     
     
    这一步配置完成之后,格式化代码时会使用“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>
                <dependencies>
                    <dependency>
                        <groupId>com.puppycrawl.tools</groupId>
                        <artifactId>checkstyle</artifactId>
                        <version>8.8</version>
                    </dependency>
                </dependencies>
                <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风格。
     
    6.IDEA配置google-java-format Plugin
     
    安装过程与2类似,仅插件名称不同。 
     
    注意:2、3、4步骤中的Checkstyle Version要保持统一。
  • 相关阅读:
    浅析AI人脸识别/车辆识别智能分析网关的深度学习算法及应用场景
    浅析基于AI智能识别技术的明厨亮灶智能化监管方案
    AI人脸识别/车辆识别智能分析网关微信端告警消息推送的开发流程
    AI车辆检测/人脸检测智能分析网关新增烟火检测识别与烟火告警
    状态压缩1815. 得到新鲜甜甜圈的最多组数
    数位DP2出现的次数
    状态压缩解题技巧
    数位DP6151. 统计特殊整数
    数位DP600. 不含连续1的非负整数
    状态压缩1755. 最接近目标值的子序列和
  • 原文地址:https://www.cnblogs.com/yurunmiao/p/9006707.html
Copyright © 2020-2023  润新知