Duplication Overall
- 6% duplication:
- 6,541 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 425 duplicated lines
- 37 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 37 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 29 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 264:299 (1%)688:723 (1%) | view | |
| 18 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 766:784 (1%)836:854 (1%) | view | |
| 17 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 276:296 (1%)150:170 (1%) | view | |
| 17 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 700:720 (1%)150:170 (1%) | view | |
| 12 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 199:211 (<1%)311:323 (<1%) | view | |
| 11 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 733:744 (<1%)766:777 (<1%) | view | |
| 11 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 733:744 (<1%)836:847 (<1%) | view | |
| 10 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 663:673 (<1%)698:708 (<1%) | view | |
| 10 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 279:289 (<1%)762:772 (1%) | view | |
| 10 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 703:713 (<1%)762:772 (1%) | view | |
| 10 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 762:772 (1%)153:163 (<1%) | view | |
| 9 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 1667:1677 (<1%)1849:1859 (<1%) | view | |
| 8 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 178:185 (<1%)206:213 (<1%) | view | |
| 8 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 578:586 (<1%)634:642 (<1%) | view | |
| 8 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 497:505 (<1%)553:561 (<1%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 787:796 (<1%)856:865 (<1%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 578:584 (<1%)667:673 (<1%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 578:584 (<1%)702:708 (<1%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 634:640 (<1%)667:673 (<1%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 634:640 (<1%)702:708 (<1%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 810:817 (<1%)906:913 (<1%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 92:98 (4%)118:124 (4%) | view | |
| 7 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 102:108 (4%)128:134 (4%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 183:188 (<1%)259:264 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 183:188 (<1%)348:353 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 259:264 (<1%)348:353 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 759:764 (<1%)829:834 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 1189:1195 (<1%)1729:1735 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 1400:1405 (<1%)1918:1923 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 355:360 (<1%)413:418 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 160:165 (1%)256:261 (1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 360:366 (1%)373:379 (1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 252:260 (<1%)494:501 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 311:316 (<1%)715:720 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 1455:1461 (<1%)524:530 (<1%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 85:90 (2%)92:97 (4%) | view | |
| 6 | x 2 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 85:90 (2%)118:123 (4%) | view |
Most Frequent Duplicates
The list of 22 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 4 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 283:289 (<1%)157:163 (<1%)766:772 (<1%)707:713 (<1%) | view | |
| 6 | x 4 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 281:286 (<1%)155:160 (<1%)764:769 (<1%)705:710 (<1%) | view | |
| 6 | x 4 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 579:584 (<1%)635:640 (<1%)668:673 (<1%)703:708 (<1%) | view | |
| 6 | x 4 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 578:583 (<1%)634:639 (<1%)667:672 (<1%)702:707 (<1%) | view | |
| 6 | x 4 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 280:285 (<1%)154:159 (<1%)763:768 (<1%)704:709 (<1%) | view | |
| 6 | x 4 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 279:284 (<1%)153:158 (<1%)762:767 (<1%)703:708 (<1%) | view | |
| 6 | x 4 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 282:287 (<1%)156:161 (<1%)765:770 (<1%)706:711 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 276:283 (<1%)150:157 (<1%)700:707 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 289:295 (<1%)163:169 (<1%)713:719 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 738:743 (<1%)771:776 (<1%)841:846 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 739:744 (<1%)772:777 (<1%)842:847 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 286:293 (<1%)160:167 (<1%)710:717 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 737:742 (<1%)770:775 (<1%)840:845 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 287:294 (<1%)161:168 (<1%)711:718 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 183:188 (<1%)259:264 (<1%)348:353 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 733:739 (<1%)766:772 (<1%)836:842 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 736:741 (<1%)769:774 (<1%)839:844 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 284:290 (<1%)158:164 (<1%)708:714 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 735:740 (<1%)768:773 (<1%)838:843 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 85:90 (2%)92:97 (4%)118:123 (4%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 290:296 (<1%)164:170 (<1%)714:720 (<1%) | view | |
| 6 | x 3 | src/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jistsrc/com.netflix.tools.jist/com/netflix/tools/jist | 285:291 (<1%)159:165 (<1%)709:715 (<1%) | view |
About This Analysis
- For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
- Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
- You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
- To learn more about duplications and techniques for eliminating duplication, Sokrates recommends the following resources:
- Avoid Repetition, MartinFlower.com (IEEE Software article)
- Refactoring duplicated code, sourcemaking.com
- Beck Design Rules, MartinFowler.com
- DRY (Don't Repeat Yourself) Principle, Wikipedia
- The Cut-and-Paste Programming Software Development Anti-Pattern, sourcemaking.com
- Code Smells / Duplicated Code, Jeff Atwood, codinghorror.com:
- "Duplicated code is the bane of software development. Stamp out duplication whenever possible. You should always be on the lookout for more subtle cases of near-duplication, too. Don't Repeat Yourself!"
- Reducing Coupling, MartinFlower.com (IEEE Software article):
- "There are several ways to describe coupling, but it boils down to this: If changing one module in a program requires changing another module, then coupling exists. ... Duplication always implies coupling, because changing one piece of duplicate code implies changing the other."