编辑推荐: |
本文来自于jianshu,本文主要介绍了CheckStyle是什么,在Eclipse和intellij安装配置code
style以及使用maven执行检查等相关内容。 |
|
使用CheckStyle检查编码规范
编码规范指的是编写代码的样式规则。不同的程序员,往往有不一样的风格。单单是抛出使用空格键还是TAB键的问题,就足以让程序员演化成针锋相对的两个派别。
为什么要在项目中统一编码规范?
好的编程规范有助于写出易于阅读、质量更高、错误更少、更易于维护的程序。
一般代码编写规范包含代码结构,格式,命名、javadoc还有编码的最佳实践等内容。
项目搭建之处,团队内约定了使用google java code style编码规范。在这个规范里,缩进是使用2个空格的,追着团队新成员的加入,慢慢的在同一个文件中同时出现了2个空格和4个空格缩进,格式整个乱套了。此外对变量的命名也出现了a,b,c作为变量命名的情况。迫切需要引入一种机制,来保证项目代码的和谐一致。我们使用了CheckStyle。
CheckStyle是什么
CheckStyle是一个帮助程序员来遵守一直的编码规范的工具。默认,它支持google 和sun
的java style guide。而且它是高度可配置的,允许自定义编码规范,并可以对各种IDE(eclipse、Intellij)和构建工具(maven,gradle)的支持。
IDE中配置code style
在intellij中安装code style 配置
下载 intellij-java-google-style.xml,拷贝到 ~/Library/Preferences/IntelliJIdea15/codestyles下.
打开IntelliJ,File->Setting->Editor->Code Style
,选择 Google_Style作为项目的代码样式模板。
在intellij中配置code style
在Eclipse中安装code style 配置
下载 eclipse-java-google-style.xml,在eclipse中打开Window/Preferences界面,选择Java/Code
Style/Formatter,进行导入。
使用CheckStyle工具检查编码规范
CheckStyle能够帮助程序员检查代码是否符合制定的规范。通过将CheckStyle的检查引入到项目构建中,可以强制让项目中的所有的开发者遵循制定规范,而不是仅仅停留在口头约定上。如果发现代码违反了标准,阻止构建成功
CheckStyle有针对不同IDE和maven的各种插件,方便开发者随时随地对代码进行静态检查。
在intellij 中安装CheckStyle-IDE插件
File->Setting->Plugins中安装CheckStyle-IDE插件
安装CheckStyle-IDE插件
File->Setting->Other Settings->Check Style中配置
配置自定义Configuaration,使用google_check.xml.
File->Setting->Editor->Inspections 配置CheckStyle中选择是否进行实时检查。
CheckStyle配置实时检查
也可以右键 check current file 对当前文件进行检查
在Eclipse 中安装 CheckStyle 插件
从插件下载
Preferences --> Checkstyle 配置check configuration
eclipse_checkstyle_plugin.jpg
右击操作对当前文件进行代码检查
使用maven执行检查
maven 配置
在项目构建的时候加入对代码格式的检查,发现有违反的,直接让构建失败。
<build>
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version> <configuration>
<configLocation>google_checks.xml</configLocation>
<encoding>UTF-8</encoding> <failOnViolation>true</failOnViolation>
<linkXRef>false</linkXRef> <includeTestSourceDirectory>true </includeTestSourceDirectory>
<maxAllowedViolations>0</maxAllowedViolations>
<violationSeverity>warning</violationSeverity>
</configuration> <executions>
<execution> <id>checkstyle</id>
<phase>validate</phase> <goals>
<goal>check</goal> </goals>
</execution> </executions>
<dependencies> <dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.19</version> </dependency>
</dependencies> </plugin>
</plugins> </build> <reporting>
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version> <reportSets>
<reportSet> <reports> <report>checkstyle</report>
</reports> </reportSet> </reportSets>
</plugin> </plugins> </reporting> |
goal
另外再说几句
美国的童子军,有一条规则 Leave the campground cleaner than you
found it. 翻译为 要让离开时的营地比进入时更加干净。 这也是我们对待代码的态度。 |