通过 P3C 规范代码风格

2,026 阅读1分钟

"标准化"的代码风格可提升可读性,并降低团队成员间因代码格式"个性化"带来的维护成本。

P3C 是根据《阿里巴巴Java开发手册-泰山版》开发的一个代码规范检察工具,类似 NodeJS 中的 eslint。

1. 配置 IDEA 插件

  1. 在 IDEA 插件市场搜索 Alibaba Java Coding Guidelines 插件并安装

image.png

  1. 安装完成之后,即可在 Tool (工具栏)下看到该插件,通过快捷键可快速进行代码扫描

image.png

  1. 扫描完成之后便会对 "不符合" 规范的代码进行提示

image.png

2. 配置 Maven 插件

  1. 在 pom.xml 文件中配置 pmd 插件,插件绑定了 maven 的 verify 生命周期
  <!-- Alibaba Java Coding Guidelines -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-pmd-plugin</artifactId>
  <version>3.8</version>
  <configuration>
    <sourceEncoding>UTF-8</sourceEncoding>
    <targetJdk>1.8</targetJdk>
    <printFailingErrors>true</printFailingErrors>
    <rulesets>
      <ruleset>rulesets/java/ali-comment.xml</ruleset>
      <ruleset>rulesets/java/ali-concurrent.xml</ruleset>
      <ruleset>rulesets/java/ali-constant.xml</ruleset>
      <ruleset>rulesets/java/ali-exception.xml</ruleset>
      <ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
      <ruleset>rulesets/java/ali-naming.xml</ruleset>
      <ruleset>rulesets/java/ali-oop.xml</ruleset>
      <ruleset>rulesets/java/ali-orm.xml</ruleset>
      <ruleset>rulesets/java/ali-other.xml</ruleset>
      <ruleset>rulesets/java/ali-set.xml</ruleset>
    </rulesets>
  </configuration>
  <executions>
    <execution>
      <phase>verify</phase>
      <goals>
        <goal>check</goal>
      </goals>
    </execution>
  </executions>
  <dependencies>
    <dependency>
      <groupId>com.alibaba.p3c</groupId>
      <artifactId>p3c-pmd</artifactId>
      <version>1.3.0</version>
    </dependency>
  </dependencies>
</plugin>
  1. 当经过 maven 的 verify 生命周期时,便会进行编码风格检察,并提示不符合规范的代码,如:

image.png

  1. 并会在项目的 target 目录下生成一个 pmd.xml 详细描述文件