+1, I noticed it too.

On Mon, Oct 8, 2012 at 4:54 PM, Vincent Massol <[email protected]> wrote:
> Note: there seems to be a big bug in Checkstyle and it seems that it's 
> currently counting java.lang classes even though it should not.
> See 
> https://sourceforge.net/tracker/?func=detail&aid=3575496&group_id=29721&atid=397078
>  which I have just opened.
>
> I propose that while waiting for this bug to be fixed we use a specific 
> checkstyle exclude *only for this check* when needed and put in comment  TODO 
> to remove it when 
> https://sourceforge.net/tracker/?func=detail&aid=3575496&group_id=29721&atid=397078
>  is fixed.
>
> Thanks
> -Vincent
>
> On Sep 10, 2012, at 4:59 PM, Vincent Massol <[email protected]> wrote:
>
>> Hi devs,
>>
>> I wanted to understand how Checkstyle computes the Class Fan out so I 
>> debugged it.
>>
>> Here are my findings:
>>
>> * Some classes are excluded by default:
>>
>>        mIgnoredClassNames.add("boolean");
>>        mIgnoredClassNames.add("byte");
>>        mIgnoredClassNames.add("char");
>>        mIgnoredClassNames.add("double");
>>        mIgnoredClassNames.add("float");
>>        mIgnoredClassNames.add("int");
>>        mIgnoredClassNames.add("long");
>>        mIgnoredClassNames.add("short");
>>        mIgnoredClassNames.add("void");
>>        mIgnoredClassNames.add("Boolean");
>>        mIgnoredClassNames.add("Byte");
>>        mIgnoredClassNames.add("Character");
>>        mIgnoredClassNames.add("Double");
>>        mIgnoredClassNames.add("Float");
>>        mIgnoredClassNames.add("Integer");
>>        mIgnoredClassNames.add("Long");
>>        mIgnoredClassNames.add("Object");
>>        mIgnoredClassNames.add("Short");
>>        mIgnoredClassNames.add("String");
>>        mIgnoredClassNames.add("StringBuffer");
>>        mIgnoredClassNames.add("Void");
>>        mIgnoredClassNames.add("ArrayIndexOutOfBoundsException");
>>        mIgnoredClassNames.add("Exception");
>>        mIgnoredClassNames.add("RuntimeException");
>>        mIgnoredClassNames.add("IllegalArgumentException");
>>        mIgnoredClassNames.add("IllegalStateException");
>>        mIgnoredClassNames.add("IndexOutOfBoundsException");
>>        mIgnoredClassNames.add("NullPointerException");
>>        mIgnoredClassNames.add("Throwable");
>>        mIgnoredClassNames.add("SecurityException");
>>        mIgnoredClassNames.add("UnsupportedOperationException");
>>
>> * All classes in java.lang.* are excluded too
>> * Annotation classes are not counted
>> * Classes in the same package are counted (they won't appear in import since 
>> it's in the same package so don't count imports to get class fan out)
>> * Static method calls are not counted. So for example StringUtils from 
>> Commons Lang never counts for class Fan out
>> * Enums are not counted (no new XXX() done. That's why static method calls 
>> are not counted too BTW)
>> * Classes used in class extend or implement are not counted too.
>>
>> Hope it helps
>> -Vincent
>>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to