Java PMD规则校验
澳门美高梅官网
澳门美高梅官网
当前位置 : 澳门美高梅官网 > 澳门美高梅官网

Java PMD规则校验

1.final OuterDBLinkPara dbLinkPara = OuterDBLinkParalist.geti;(OuterDBLinkPara是我自己写的一个实体类)
2.String dbip;
3.dbip = dbLinkPara.getDbIp;

PMD规则在序号为3的位置提示:
Potential violation of Law of Demeter object not created locally

不知道如何改正。

LawOfDemeter

public class Foo {
    /**
     * This example will result in two violations.
     */
    public void exampleBar b {
        // this method call is ok, as b is a parameter of "example"
        C c = b.getC;
        
        // this method call is a violation, as we are using c, which we got from B.
        // We should ask b directly instead, e.g. "b.doItOnC;"
        c.doIt;
        
        // this is also a violation, just expressed differently as a method chain without temporary variables.
        b.getC.doIt;
        
        // a constructor call, not a method call.
        D d = new D;
        // this method call is ok, because we have create the new instance of D locally.
        d.doSomethingElse; 
    }
}

你的list是一个参数吧,LawOfDemeter规则是期望你的参数提供方法直接调用,而不使用方法返回的对象(这个对象不是在方法内部创建的),再调用对象的函数,可以参考一下上面的示例修改。
如果无法修改那就把这个规则排除掉吧。这个规则有点苛刻。

栏目列表

广告位

澳门美高梅官网