Here are the notifications I'm receiving from PMD (I've not included the test and lf5 
packages in this list).  This list was generated after my cleanup efforts.  

I looked at CheckStyle and there is a lot of commonality between the two tools, with 
each providing some pieces of valuable information the other doesn't provide.  

The issues I think are worth looking at are the 'avoid calls to overridable methods 
during construction',  and 'override both equals and hashcode' notifications.

A good number of the notifications still exist in the chainsaw package, and I'll look 
at those next.  

By the way, the changes in the 'cleanup' commit I'm going to do are based on all of 
the rulesets listed below EXCEPT the 'controversial' rule set.

Rule Sets
- Basic http://pmd.sourceforge.net/rules/basic.html
- Design http://pmd.sourceforge.net/rules/design.html
- Imports http://pmd.sourceforge.net/rules/imports.html
- Unusedcode http://pmd.sourceforge.net/rules/unusedcode.html
- Controversial http://pmd.sourceforge.net/rules/controversial.html

Count   Message

1       Avoid unused private methods such as 'XXXXX'
1       Avoid instantiation through private constructors from outside of the 
constructor's class.
1       A high ratio of statements to labels in a switch statement.  Consider 
refactoring.
2       The hierarchy of the type XXXXXXX is inconsistent
3       Ensure you override both equals() and hashCode()
4       If you override finalize(), make it protected
4       Avoid empty 'if' statements
5       Avoid using implementation types like 'ArrayList'; use the interface instead
5       Avoid reassigning parameters such as 'XXXXXXX'
5       Deeply nested if..then statements are hard to read
6       The method XXXXXX is undefined for the type YYYYY
8       Switch statements should have a default label
9       Avoid using implementation types like 'Vector'; use the interface instead
9       Avoid assigments in operands
13      Avoid calls to overridable methods during construction
13      All methods are static.  Consider using Singleton instead.
14      Avoid unnecessary constructors - the compiler will generate these for you
21      Avoid empty catch blocks
49      Assigning an Object to null is a code smell.  Consider refactoring.
70      Each class should declare at least one constructor
89      Unused modifiers are, well, unused
317     A method should have only one exit point, and that should be the last 
statement in the method


-----Original Message-----
From:   Paul Smith [mailto:[EMAIL PROTECTED]
Sent:   Thu 6/26/2003 2:28 PM
To:     'Log4J Developers List'
Cc:     
Subject:        RE: PMD
Hi Scott,

Is it possible to copy/paste the summary report to the Dev list? i.e.  not
where the issues are, just the Distinct set of the issue's it's reported.
Then we can all discuss which of the more serious ones we should tackle.
The more serious violations tend to mean more change within the code, and
we'd probably best to only make these changes with some ponderings.

cheers,

Paul

> -----Original Message-----
> From: Scott Deboy [mailto:[EMAIL PROTECTED]
> Sent: Friday, 27 June 2003 3:13 AM
> To: Log4J Developers List
> Subject: RE: PMD
> 
> 
> I'm not sure what Checkstyle reports, but PMD flagged quite a 
> number of issues in the tree, from minor to serious.
> 
> Much of what I've done has been minor cleanup - using 
> interface types in method arguments where possible (Vector -> 
> List), removing unused declared variables, imports.
> 
> -----Original Message-----
> From: Mark Womack [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, June 26, 2003 9:48 AM
> To: 'Log4J Developers List'
> Subject: RE: PMD
> 
> 
> While people can use any tool they want, we kind of decided 
> on using Checkstyle on a project level.  A lot of the Jakarta 
> projects are using it and it was felt (ok, it was me) that we 
> could leverage the knowledge and decisions these other groups 
> made regarding the Checkstyle settings. (Really, Oliver did 
> not twist our collective arm. :-)  That and the move to use 
> Jalopy around the same time.
> 
> - Is there something that PMD is providing that Checkstyle is 
> not?  Is it reporting problems that Checkstyle is not?
> - We should review the Checkstyle settings to see if we want 
> to disable new "features".  Sounds like Yoav has a list of 
> candidates.  If there are other settings we should be 
> considering, let's discuss it.  I'd also like to keep the 
> settings somewhat in-sync between the core and sandbox cvs.
> 
> I would want to understand the changes being put into the cvs 
> based on PMD complaints.  As Yoav says, it could have 
> unintentional effects on the code base.  The Checkstyle 
> settings we have disabled/modified to date have been fairly minor.
> 
> -Mark
> 
> > -----Original Message-----
> > From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, June 26, 2003 5:54 AM
> > To: Log4J Developers List
> > Subject: RE: PMD
> > 
> > 
> > 
> > Howdy,
> > PMD is a good tool.  There's a large, and increasing, overlap
> > between it and Checkstyle.  Both of them IMHO can be 
> > misleading and shouldn't be trusted blindly.  For example, 
> > both (Checkstyle only in its latest version) will complain 
> > about non-final parameters to methods, method "not designed 
> > for extension," etc.  For an open-source framework designed 
> > to be extensible like log4j, these are non issues and the 
> > checks should be turned off in PMD/Checkstyle.  We should 
> > agree to a common Checkstyle/PMD checklist (unfortunately 
> > they have different formats) before making large sweeping 
> > changes based on PMD/Checkstyle output.
> > 
> > (Of course this doesn't apply to trivial things like missing
> > javadoc comments)
> > 
> > Yoav Shapira
> > Millennium ChemInformatics
> > 
> > 
> > >-----Original Message-----
> > >From: Berin Loritsch [mailto:[EMAIL PROTECTED]
> > >Sent: Wednesday, June 25, 2003 5:25 PM
> > >To: Log4J Developers List
> > >Subject: Re: PMD
> > >
> > >Ceki Gülcü wrote:
> > >
> > >> At 02:15 PM 6/25/2003 -0700, you wrote:
> > >>
> > >>> Sorry, http://pmd.sourceforge.net/
> > >>
> > >>
> > >> LOL. I thought PMD was an acronym and "Packet Mode 
> Data", "Physical 
> > >> Medium Dependent", "Polarization Mode Dispersion" sounded
> > out of place.
> > >
> > >
> > >:D  My favorite backronym is  "Protein Mutant Database" from
> > their own
> > >     page (http://pmd.sourceforge.net/meaning.html).
> > >
> > >--
> > >
> > >"They that give up essential liberty to obtain a little
> > temporary safety
> > >  deserve neither liberty nor safety."
> > >                 - Benjamin Franklin
> > >
> > >
> > 
> >---------------------------------------------------------------------
> > >To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> > 
> > 
> > This e-mail, including any attachments, is a confidential
> > business communication, and may contain information that is 
> > confidential, proprietary and/or privileged.  This e-mail is 
> > intended only for the individual(s) to whom it is addressed, 
> > and may not be saved, copied, printed, disclosed or used by 
> > anyone else.  If you are not the(an) intended recipient, 
> > please immediately delete this e-mail from your computer 
> > system and notify the sender.  Thank you.
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




<<winmail.dat>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to