pmd代码检测规则修改

以下是一份pmd的rules文件

<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Android Application Rules"
    xmlns="http://pmd.sf.net/ruleset/1.0.0"
    xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
    xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd">

    <description>Custom ruleset for ribot Android application</description>

    <exclude-pattern>.*/R.java</exclude-pattern>
    <exclude-pattern>.*/gen/.*</exclude-pattern>

    <rule ref="rulesets/java/android.xml" />
    <rule ref="rulesets/java/clone.xml" />
    <rule ref="rulesets/java/finalizers.xml" />
    <rule ref="rulesets/java/imports.xml">
        <!-- Espresso is designed this way !-->
        <exclude name="TooManyStaticImports" />
    </rule>
    <rule ref="rulesets/java/logging-java.xml">
        <!-- This rule wasn't working properly and given errors in every var call info -->
        <exclude name="GuardLogStatementJavaUtil" />
    </rule>
    <rule ref="rulesets/java/braces.xml">
        <!-- We allow single line if's without braces -->
        <exclude name="IfStmtsMustUseBraces" />
    </rule>
    <rule ref="rulesets/java/strings.xml" >
        <!-- Exclude because causes problems with SQL Strings that usually require duplication -->
        <exclude name="AvoidDuplicateLiterals"/>
    </rule>
    <rule ref="rulesets/java/basic.xml" />
    <rule ref="rulesets/java/naming.xml">
        <exclude name="AbstractNaming" />
        <exclude name="LongVariable" />
        <exclude name="ShortMethodName" />
        <exclude name="ShortVariable" />
        <exclude name="ShortClassName" />
        <exclude name="VariableNamingConventions" />
    </rule>
</ruleset>

这次主要讲的是怎么移除已有的规则(由于if嵌套需要合并的规则感觉不合理所以今天研究了一下怎么将这一条规则移除);

首先我们看一张官网上的规则分类图:


由以上这张图可以知道,pmd规则是由几大类构成,每个大类下面又有细则,所以我想要将我不要的规则移除的话,首先我要找到归属的大类,假如我报错的地方点进来是对应着ForLoopShouldBeWhileLoop这个,那么我们只需要将
<rule ref="rulesets/java/basic.xml" />
这段改为
 <rule ref="rulesets/java/basic.xml">

        <exclude name="ForLoopShouldBeWhileLoop" />

</rule>

是不是超级简单哈~~~~主要是exclude关键字在起作用哦~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值