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]