• checkStyle使用具体解释


    简单介绍       

        checkStyle是一款代码格式检查工具。它依据设置好的编码规则来自己主动检查代码。比方命名规范,文件长度。代码行长度等等。代码检查工具是保证项目代码质量、统一编码风格的一种重要途径。本篇博客主要讲讲使用checkStyle的检查规则的陪置。


    安装

        方法一:

        1. Eclipse中,选择Help->Software Updates->Find and Install
        2. 选择 Search for new features to install 选择Next
        3. 选择 New Remote Site
        4. 输入更新地址:http://eclipse-cs.sourceforge.net/update
        5. 安装后重新启动就可以

    方法二:

    1.下载eclipse插件:http://sourceforge.net/projects/eclipse-cs/
    下载后。把里面的两个文件夹plugins和 features以下的文件分别复制到eclipse文件夹以下相应的plugins和features文件夹
    2.假设你就这样直接启动eclipse 可能会出现ClassNotFoundExceptions 等错误,所以必须在启动eclipse的时候加上一个參数 -clean. 这样eclipse就能够更新它当前安装的很多插件信息
    比方你得eclipse在d盘 那么就是 d:eclipseeclipse.exe -clean 

    Checkstyle的陪置文件导入

        点击“Window”->“Preferences”菜单。在弹出窗体左側点击“Checkstyle”,可看到右側默认选中的是“Sun Checks”检查规则。由于该规则要求比較严格,并且不适合本研发中心。所以须要自己定义检查文件。点击“New”button后,弹出“Check Configuration Properties”窗体。例如以下图所看到的:

        在上图中选择“Type”为“External Configuration File”(外部配置文件)。在“Location”行点击“Browse”button浏览选择checkstyle的配置文件。比如eclipse_checkstyle.xml文件(仅供參考。可自行定义),并输入“Name”行的值。比如“eclipse_checkstyle”,点击“OK”button完毕导入操作。回到Checkstyle主页面选择刚才加入的文件,点击“Set As Default”将其设置为默认checkstyle检查文件。

    陪置具体解释

    <module name="Checker">
    
        <!-- 消息提示等级 -->
        <property name="severity" value="warning"/>
    	<!-- 字符集限制 -->
    	<property name="charset" value="UTF-8"/>
    
    <module name="TreeWalker">
    
    		<!-- javadoc的检查 -->
    		<!-- 检查全部的interface和class -->
    	<module name="JavadocType"/>
    
    		<!-- 检查全部方法的javadoc,能够不声明RuntimeException -->
    		<module name="JavadocMethod">
    		<property name="allowUndeclaredRTE" value="true"/>
    		<property name="allowMissingPropertyJavadoc" value="true"/>
    		</module>
    		<!-- 检查变量的javadoc -->
    		<module name="JavadocVariable">
    		    <property name="scope" value="public"/>
    		</module>
    
    		<!-- 命名方面的检查。它们都使用了Sun官方定的规则。

    --> <!-- 类名(class 或interface) 的检查 --> <module name="TypeName"/> <!-- 变量的检查 --> <module name="MemberName"/> <!-- 方法名的检查 --> <module name="MethodName"/> <!-- 方法的參数名 --> <module name="ParameterName "/> <!-- 常量名的检查 --> <module name="ConstantName"/> <!-- 长度方面的检查 --> <!-- 文件长度不超过1500行 --> <!-- 每行不超过120个字--> <module name="LineLength"> <property name="max" value="120"/> </module> <!-- 方法不超过30行 --> <module name="MethodLength"> <property name="tokens" value="METHOD_DEF"/> <property name="max" value="30"/> </module> <!-- 方法的參数个数不超过3个。 --> <module name="ParameterNumber"> <property name="max" value="3"/> </module> <!-- 多余的keyword --> <module name="RedundantModifier"/> <!-- 对区域的检查 --> <!-- 不能出现空白区域 --> <module name="EmptyBlock"/> <!-- 全部区域都要使用大括号。 --> <module name="NeedBraces"/> <!-- 多余的括号 --> <module name="AvoidNestedBlocks"> <property name= "allowInSwitchCase" value="true"/> </module> <!-- 编码方面的检查 --> <!-- 不许出现空语句 --> <module name="EmptyStatement"/> <!-- 每一个类都实现了equals()和hashCode() --> <module name="EqualsHashCode"/> <!-- 不许使用switch --> <module name="IllegalToken"> <property name="tokens" value="LITERAL_SWITCH"/> </module> <!-- 不许内部赋值 --> <module name="InnerAssignment"/> <!-- 绝对不能容忍魔法数 --> <module name="MagicNumber"/> <!-- 循环控制变量不能被改动 --> <module name="ModifiedControlVariable"/> <!-- 多余的throw --> <!-- <module name="RedundantThrows"/> --> <!-- 不许使用未被简化的条件表达式 --> <module name="SimplifyBooleanExpression"/> <!-- 不许使用未被简化的布尔返回值 --> <module name="SimplifyBooleanReturn"/> <!-- String的比較不能用!= 和 == --> <module name="StringLiteralEquality"/> <!-- if最多嵌套3层 --> <module name="NestedIfDepth"> <property name="max" value="3"/> </module> <!-- try最多被嵌套1层 --> <module name="NestedTryDepth"/> <!-- clone方法必须调用了super.clone() --> <module name="SuperClone"/> <!-- finalize 必须调用了super.finalize() --> <module name="SuperFinalize"/> <!-- 不能catch java.lang.Exception --> <module name="IllegalCatch"> <property name="illegalClassNames" value="java.lang.Exception"/> </module> <!-- JUnitTestCase 的核心方法存在。

    --> <!-- <module name="JUnitTestCase"/> --> <!-- 一个方法中最多有3个return --> <module name="ReturnCount"> <property name="max" value="3"/> </module> <!-- 不许对方法的參数赋值 --> <module name="ParameterAssignment"/> <!-- 不许有相同内容的String --> <module name="MultipleStringLiterals"/> <!-- 同一行不能有多个声明 --> <module name="MultipleVariableDeclarations"/> <!-- 各种量度 --> <!-- 布尔表达式的复杂度。不超过3 --> <module name="BooleanExpressionComplexity"/> <!-- 类数据的抽象耦合。不超过7 --> <module name="ClassDataAbstractionCoupling"/> <!-- 类的分散复杂度,不超过20 --> <module name="ClassFanOutComplexity"/> <!-- 函数的分支复杂度。不超过10 --> <module name="CyclomaticComplexity"/> <!-- NPath复杂度,不超过200 --> <module name="NPathComplexity"/> <!-- 杂项 --> <!-- 禁止使用System.out.println --> <!-- <module name="GenericIllegalRegexp"> <property name="format" value="System.out.println"/> <property name="ignoreComments" value="true"/> </module> --> <!-- 不许使用与代码同行的凝视 --> <module name="TrailingComment"/> <!-- 不同意存在todo标签 --> <module name="TodoComment"> <property name="severity" value="warning"/> <property name="format" value="TODO"/> </module> </module> <module name="FileLength"> <property name="max" value="1500"/> </module> <!-- 检查翻译文件 --> <module name="Translation"/> </module>


    小结:这里也就是陪置文件里的陪置项须要有一点了解,些小的错误都会导致文件陪置文件无法导入成功。

  • 相关阅读:
    JavaScript内部原理:浏览器的内幕
    DOM结构深度优先遍历(二):TreeWalker
    DOM结构深度优先遍历(一):NodeIterator
    Linux bc 命令
    两个小function实现XML和string相互转化
    Git 多用户配置
    Vue 新增的$attrs与$listeners的详解
    CSS mask遮罩
    flask之后端传值给前端
    python cv2在验证码识别中的使用
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7223691.html
Copyright © 2020-2023  润新知