CheckStyle的使用及其在Eclipse中的集成
这里的有些check有个公共的属性tokens 意思是该check应用的范围 例如同样是检查方法的长度 普通方法可能最多可以有 行 而构造函数则最多只能有 行 这时 虽然同样是使用MethodLength这个check 但是可以用tokens这个属性进行区分 如下xml文件的片段
这其中应用了两次MethodLength 第一次的tokens定义为METHOD_DEF 即普通的方法 第二次的tokens定义为CTOR_DEF 即构造函数 并且在此定义了与缺省值不同的值 即 这样CheckStyle可以根据方法的种类不同而执行不同的check策略 CheckStyle也定义了大量的诸如CTOR_DEF形式的tokens类型 应用于不同的check中的tokens 其定义在 puppycrawl tools checkstyle api TokenTypes类中 这些Tokens实际上是对源代码文件进行拆分后做对应的时候的一些标志 类似编译中的语法分析 CheckStyle的原理应该就是在对源代码做语法分析后 针对这些Tokens的内容 比对预先设定好的代码写作策略 并给出对比的结果 TokenTypes类内容很多 这里就不一一列举了
下面是对具体的check的描述 这些check可以被分为了 类 如下所示
===== CHECK STYLE ========
Annotations JDK 中的Annotation相关(未展开)
Block Checks 代码块相关
Class Design 类设计相关
Coding 编码相关
Duplicate Code 冗余代码
Headers 源文件的头
Imports 引入包相关
Javadoc Comments JavaDoc相关
Metrics 复杂度分析
Miscellaneous 其它
Modifiers 修饰符相关
Naming Conventions 命名规范
Regexp 正则表达式相关
Size Violations 文件大小等相关
Whitespace 空格处理相关
==========================
lishixinzhi/Article/program/Java/ky/201311/28941