Hello there,

I just tried to analyse the package apache-ant-1.7.0 with the most
excellent Java static analysis tool pmd.

A subset of the results were

/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/DefaultLogger.java:249
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/input/DefaultInputHandler.java:107
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/Location.java:139
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/Main.java:1032
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java:423
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:285
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:292
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:314
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:322
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:324
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:327
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:342
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:346
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:359
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:399
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/Checksum.java:577
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/compilers/AptCompilerAdapter.java:141
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java:405
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/Copy.java:998
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/Javadoc.java:1487
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/KeySubst.java:192
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java:206
  Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java:254
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java:256
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java:256
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java:412
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java:501
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java:505
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java:537
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/extension/LibraryDisplayer.java:142
    Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/DefaultJspCompilerAdapter.java:54
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java:966
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java:1901
      Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/NetRexxC.java:769
      Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Add.java:123
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Change.java:109
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Fstat.java:142
      Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java:500
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java:504
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java:202
  Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java:272
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/SQLExec.java:512
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/SQLExec.java:515
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/SQLExec.java:524
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/SQLExec.java:647
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/SQLExec.java:664
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/Commandline.java:564
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/Commandline.java:601
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/Commandline.java:603
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/Commandline.java:605
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/Commandline.java:605
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/Environment.java:118
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/PatternSet.java:127
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/PropertySet.java:464
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/AndSelector.java:46
      Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java:61
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java:72
 Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/DateSelector.java:82
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/DependSelector.java:60
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java:64
    Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java:69
 Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/MajoritySelector.java:53
 Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ChecksumAlgorithm.java:146
      Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java:175
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java:199
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java:798
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/PropertiesfileCache.java:233
    Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/NoneSelector.java:47
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/NotSelector.java:56
      Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/OrSelector.java:46
       Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/PresentSelector.java:72
  Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java:62
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java:64
   Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java:63
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/TypeSelector.java:51
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/util/DateUtils.java:211
  Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/util/DateUtils.java:215
  Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/util/FileUtils.java:1127
 Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java:59
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/util/regexp/Jdk14RegexpRegexp.java:72
    Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/mappers/MapperResult.java:86
        Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/selectors/BaseSelectorTest.java:201
 Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/selectors/ModifiedSelectorTest.java:654
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/selectors/ModifiedSelectorTest.java:655
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/selectors/ModifiedSelectorTest.java:657
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/selectors/ModifiedSelectorTest.java:658
     Avoid appending characters as strings in StringBuffer.append.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/Main.java:812
    StringBuffer constructor is initialized with size 16, but has at least 1870 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/NetRexxC.java:742
      StringBuffer constructor is initialized with size 16, but has at least 19 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/NetRexxC.java:774
      StringBuffer constructor is initialized with size 16, but has at least 25 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ChecksumAlgorithm.java:143
      StringBuffer constructor is initialized with size 16, but has at least 30 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java:195
        StringBuffer constructor is initialized with size 16, but has at least 
38 characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/util/regexp/RegexpMatcherTest.java:155
    StringBuffer constructor is initialized with size 16, but has at least 38 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/PropertiesfileCache.java:229
    StringBuffer constructor is initialized with size 16, but has at least 45 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/ComponentHelper.java:833
 StringBuffer constructor is initialized with size 16, but has at least 62 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java:495
   StringBuffer constructor is initialized with size 16, but has at least 63 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java:334
    StringBuffer constructor is initialized with size 16, but has at least 64 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java:53
  StringBuffer constructor is initialized with size 16, but has at least 94 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java:403
       StringBuffer constructor is initialized with size 20, but has at least 
25 characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/DefaultJspCompilerAdapter.java:52
        StringBuffer constructor is initialized with size 20, but has at least 
25 characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java:269
        StringBuffer constructor is initialized with size 20, but has at least 
25 characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java:455
 StringBuffer constructor is initialized with size 21, but has at least 23 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/AntStructure.java:330
   StringBuffer constructor is initialized with size 26, but has at least 61 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java:130
       StringBuffer constructor is initialized with size 27, but has at least 
53 characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java:118
       StringBuffer constructor is initialized with size 27, but has at least 
53 characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/junit/SummaryJUnitResultFormatter.java:139
     StringBuffer constructor is initialized with size 27, but has at least 53 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java:792
       StringBuffer constructor is initialized with size 33, but has at least 
65 characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/DateSelector.java:74
     StringBuffer constructor is initialized with size 36, but has at least 45 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java:55
 StringBuffer constructor is initialized with size 40, but has at least 60 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java:66
 StringBuffer constructor is initialized with size 40, but has at least 62 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/selectors/PresentSelector.java:55
  StringBuffer constructor is initialized with size 44, but has at least 46 
characters appended.
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java:200
   Using equalsIgnoreCase() is cleaner than using 
toUpperCase/toLowerCase().equals().
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java:202
   Using equalsIgnoreCase() is cleaner than using 
toUpperCase/toLowerCase().equals().
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/optional/image/Arc.java:76
 Using equalsIgnoreCase() is cleaner than using 
toUpperCase/toLowerCase().equals().
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/optional/image/Arc.java:78
 Using equalsIgnoreCase() is cleaner than using 
toUpperCase/toLowerCase().equals().
/usr/src/packages/BUILD/apache-ant-1.7.0/src/main/org/apache/tools/ant/types/optional/image/Arc.java:80
 Using equalsIgnoreCase() is cleaner than using 
toUpperCase/toLowerCase().equals().

In each of the 115 cases, an improvement can be made.

Regards

David Binderman


_________________________________________________________________
Get all your favourite content with the slick new MSN Toolbar - FREE
http://clk.atdmt.com/UKM/go/111354027/direct/01/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to