git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@728 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
Tom Copeland
2002-08-20 17:36:39 +00:00
parent b719788981
commit 20a3287a9c
2 changed files with 20 additions and 6 deletions

View File

@ -90,6 +90,21 @@
<email>dave@infoether.com</email> <email>dave@infoether.com</email>
<roles><role>Developer</role></roles> <roles><role>Developer</role></roles>
</developer> </developer>
<developer>
<name>Rich Kilmer</name>
<id>richkilmer</id>
<email>rich@infoether.com</email>
<roles><role>Developer</role></roles>
</developer>
<developer>
<name>Don Leckie</name>
<id>donleckie</id>
<email>donleckie@users.sourceforge.net</email>
<roles><role>Developer</role></roles>
</developer>
</developers> </developers>
<contributors> <contributors>

View File

@ -9,13 +9,12 @@
<body> <body>
<section name="Copied and pasted code is usually bad"> <section name="Copied and pasted code is usually bad">
<p>But it can be hard to find, especially in a large project. So we wrote a utility - CPD - to find it for us. <p>But it can be hard to find, especially in a large project. So we wrote a utility - CPD - to find it for us.
CPD uses (more or less) Michael Wise's Greedy String Tiling algorithm to find duplicate code. Here's CPD uses (more or less) Michael Wise's Greedy String Tiling algorithm to find duplicate code.</p>
a <a href="screenshot.jpg">screenshot</a> of CPD after running on itself. Looks like we've got <p>Here's a <a href="screenshot.jpg">screenshot</a> of CPD after running on the JDK java.lang package.</p>
some refactoring to do....</p>
<p>To run CPD as a JNLP application, click <a href="cpd.jnlp">here</a>.</p> <p>To run CPD as a JNLP application, click <a href="cpd.jnlp">here</a>.</p>
<p>As a reference point, running the CPD GUI against the JDK 1.4 java.net package on a <p>As a reference point, running the CPD GUI against the JDK 1.4 java packages (1178 files, 13.4 MB of data)on a
Pentium III 1.1 GHz machine with 512 MB of RAM took 6 minutes 22 seconds. It found some nice duplicates which Celeron 1.13 GHz machine with 256 MB of RAM took 19 hours and 59 minutes. It found some nice duplicates which
you can see <a href="cpd_java_net_dupes.txt">here</a> - the largest ones are at the bottom of the page.</p> you can see <a href="cpd_java_dupes.txt">here</a> - the largest ones are at the bottom of the page.</p>
<p>Future plans</p> <p>Future plans</p>
<ul> <ul>
<li>Make a PMD rule for CPD</li> <li>Make a PMD rule for CPD</li>