使用CheckStyle检查编码规范

使用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作为项目的代码样式模板。

使用CheckStyle检查编码规范_第1张图片
在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检查编码规范_第2张图片
安装CheckStyle-IDE插件

File->Setting->Other Settings->Check Style中配置 配置自定义Configuaration,使用google_check.xml.

File->Setting->Editor->Inspections 配置CheckStyle中选择是否进行实时检查。

使用CheckStyle检查编码规范_第3张图片
CheckStyle配置实时检查

也可以右键 check current file 对当前文件进行检查

在Eclipse 中安装 CheckStyle 插件

从插件下载

Preferences --> Checkstyle 配置check configuration

使用CheckStyle检查编码规范_第4张图片
eclipse_checkstyle_plugin.jpg

右击操作对当前文件进行代码检查

使用maven执行检查

maven 配置

在项目构建的时候加入对代码格式的检查,发现有违反的,直接让构建失败。

    
        
            
                org.apache.maven.plugins
                maven-checkstyle-plugin
                2.17
                
                    google_checks.xml
                    UTF-8
                    true
                    false
                    true
                    0
                    warning
                
                
                    
                        checkstyle
                        validate
                        
                            check
                        
                    
                
                
                    
                        com.puppycrawl.tools
                        checkstyle
                        6.19
                    
                
            
        
    
    
        
            
                org.apache.maven.plugins
                maven-checkstyle-plugin
                2.17
                
                    
                        
                            checkstyle
                        
                    
                
            
        
    

goal

Goal Report or Not Description
checkstyle:check No 检查代码,并可能导致构建失败
checkstyle:checkstyle Yes 检查代码并生成代码检查结果报表
checkstyle:checkstyle-aggregate Yes 对多模块的项目代码检查,并生产检查汇总的结果报表

另外再说几句

美国的童子军,有一条规则 Leave the campground cleaner than you found it. 翻译为 要让离开时的营地比进入时更加干净。 这也是我们对待代码的态度。

你可能感兴趣的:(使用CheckStyle检查编码规范)