guardian/pluto-deliverables
Duplication Places in code with 6 or more lines that are exactly the same. |
Duplication Overall
- 13% duplication:
- 14,891 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 2,040 duplicated lines
- 199 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 45 | x 2 | frontend/app/Masterfrontend/app/Master | 156:203 (18%)113:160 (24%) | view | |
| 29 | x 2 | frontend/app/DeliverableItemfrontend/app/DeliverableItem | 185:213 (15%)205:233 (14%) | view | |
| 28 | x 2 | frontend/app/Masterfrontend/app/Master | 122:152 (11%)79:109 (15%) | view | |
| 22 | x 2 | rabbitmqrabbitmq | 13:34 (48%)22:43 (18%) | view | |
| 18 | x 2 | frontend/app/Masterfrontend/app/Master | 260:277 (7%)187:204 (9%) | view | |
| 17 | x 2 | frontend/app/Masterfrontend/app/Master | 34:53 (29%)40:59 (26%) | view | |
| 16 | x 2 | frontend/appfrontend/app | 183:199 (2%)226:242 (2%) | view | |
| 16 | x 2 | frontend/appfrontend/app/MasterList | 33:48 (40%)303:318 (3%) | view | |
| 15 | x 2 | frontend/app/Masterfrontend/app/Master | 56:70 (26%)55:69 (27%) | view | |
| 15 | x 2 | frontend/app/DeliverableItemfrontend/app/DeliverableItem | 117:132 (7%)137:152 (7%) | view | |
| 15 | x 2 | frontend/app/DeliverableItemfrontend/app/DeliverableItem | 134:149 (7%)154:169 (7%) | view | |
| 14 | x 2 | frontend/app/DeliverablesDashfrontend/app/DeliverablesDash | 49:62 (14%)76:89 (14%) | view | |
| 13 | x 2 | frontend/app/MasterListfrontend/app/MasterList | 377:389 (2%)401:413 (2%) | view | |
| 13 | x 2 | frontend/app/MasterListfrontend/app/MasterList | 377:389 (2%)426:438 (2%) | view | |
| 13 | x 2 | frontend/app/MasterListfrontend/app/MasterList | 377:389 (2%)451:463 (2%) | view | |
| 13 | x 2 | frontend/app/MasterListfrontend/app/MasterList | 401:413 (2%)426:438 (2%) | view | |
| 13 | x 2 | frontend/app/MasterListfrontend/app/MasterList | 401:413 (2%)451:463 (2%) | view | |
| 13 | x 2 | frontend/app/MasterListfrontend/app/MasterList | 426:438 (2%)451:463 (2%) | view | |
| 13 | x 2 | frontend/appfrontend/app/MasterList | 18:30 (32%)81:93 (2%) | view | |
| 13 | x 2 | frontend/appfrontend/app | 8:20 (2%)4:16 (5%) | view | |
| 13 | x 2 | frontend/app/Masterfrontend/app/Master | 58:70 (22%)64:76 (20%) | view | |
| 13 | x 2 | frontend/appfrontend/app | 74:86 (18%)108:120 (12%) | view | |
| 13 | x 2 | frontend/app/Masterfrontend/app/Master | 57:69 (23%)64:76 (20%) | view | |
| 13 | x 2 | frontend/appfrontend/app/BundleList | 58:80 (13%)81:103 (10%) | view | |
| 12 | x 2 | frontend/app/Masterfrontend/app/Master | 240:253 (4%)170:182 (6%) | view | |
| 12 | x 2 | frontend/appfrontend/app/BundleList | 80:93 (12%)111:124 (9%) | view | |
| 11 | x 2 | gnm_deliverables/fixturesgnm_deliverables/fixtures | 1:11 (39%)15:25 (39%) | view | |
| 11 | x 2 | frontend/app/Masterfrontend/app/Master | 140:151 (4%)170:181 (4%) | view | |
| 11 | x 2 | frontend/app/Masterfrontend/app/Master | 97:108 (6%)127:138 (6%) | view | |
| 11 | x 2 | frontend/app/Commonfrontend/app/Common | 27:38 (20%)48:59 (20%) | view | |
| 11 | x 2 | frontend/app/utilsfrontend/app/utils | 360:377 (2%)451:468 (2%) | view | |
| 11 | x 2 | frontend/app/utilsfrontend/app/utils | 360:377 (2%)532:549 (2%) | view | |
| 11 | x 2 | frontend/app/utilsfrontend/app/utils | 451:468 (2%)532:549 (2%) | view | |
| 11 | x 2 | frontend/app/Masterfrontend/app/Master | 140:151 (4%)127:138 (6%) | view | |
| 11 | x 2 | frontend/app/Masterfrontend/app/Master | 170:181 (4%)97:108 (6%) | view | |
| 11 | x 2 | frontend/app/DeliverableItemfrontend/app/DeliverableItem | 4:14 (5%)5:15 (5%) | view | |
| 11 | x 2 | frontend/app/DeliverableItemfrontend/app/DeliverableItem | 151:161 (5%)171:181 (5%) | view | |
| 11 | x 2 | frontend/app/DeliverablesDashfrontend/app/DeliverablesDash | 65:79 (17%)64:78 (16%) | view | |
| 10 | x 2 | gnm_deliverablesgnm_deliverables | 123:132 (3%)147:156 (3%) | view | |
| 10 | x 2 | frontend/app/ProjectDeliverablesfrontend/app/ProjectDeliverables | 60:69 (11%)87:96 (11%) | view | |
| 10 | x 2 | frontend/app/DeliverableItemfrontend/app/DeliverableItem | 88:99 (5%)89:100 (4%) | view | |
| 10 | x 2 | frontend/appfrontend/app/BundleList | 43:54 (10%)64:75 (8%) | view | |
| 9 | x 2 | gnm_deliverables/fixturesgnm_deliverables/fixtures | 50:58 (8%)73:81 (8%) | view | |
| 9 | x 2 | frontend/app/Masterfrontend/app/Master | 140:149 (3%)194:203 (3%) | view | |
| 9 | x 2 | frontend/app/Masterfrontend/app/Master | 170:179 (3%)194:203 (3%) | view | |
| 9 | x 2 | frontend/app/Masterfrontend/app/Master | 97:106 (4%)151:160 (4%) | view | |
| 9 | x 2 | frontend/app/Masterfrontend/app/Master | 127:136 (4%)151:160 (4%) | view | |
| 9 | x 2 | frontend/app/Masterfrontend/app/Master | 140:149 (3%)151:160 (4%) | view | |
| 9 | x 2 | frontend/app/Masterfrontend/app/Master | 170:179 (3%)151:160 (4%) | view | |
| 9 | x 2 | frontend/app/Masterfrontend/app/Master | 194:203 (3%)97:106 (4%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 6 | frontend/app/AssetSearchfrontend/app/DeliverablesDashfrontend/appfrontend/appfrontend/app/DeliverableUploaderfrontend/app | 6:11 (3%)4:9 (6%)5:10 (3%)11:16 (1%)8:13 (2%)7:12 (2%) | view | |
| 6 | x 6 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 141:146 (2%)98:103 (3%)171:176 (2%)195:200 (2%)128:133 (3%)152:157 (3%) | view | |
| 6 | x 6 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 143:149 (2%)100:106 (3%)173:179 (2%)197:203 (2%)130:136 (3%)154:160 (3%) | view | |
| 6 | x 6 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 131:136 (2%)88:93 (3%)161:166 (2%)187:192 (2%)118:123 (3%)144:149 (3%) | view | |
| 6 | x 6 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 142:147 (2%)99:104 (3%)172:177 (2%)196:201 (2%)129:134 (3%)153:158 (3%) | view | |
| 6 | x 6 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 140:145 (2%)97:102 (3%)170:175 (2%)194:199 (2%)127:132 (3%)151:156 (3%) | view | |
| 6 | x 5 | frontend/app/DeliverablesDashfrontend/app/DeliverablesDashfrontend/app/DeliverablesDashfrontend/app/DeliverablesDashfrontend/app/DeliverablesDash | 47:52 (5%)62:67 (5%)81:86 (5%)98:103 (5%)117:122 (5%) | view | |
| 6 | x 5 | frontend/app/DeliverablesDashfrontend/app/DeliverablesDashfrontend/app/DeliverableItemfrontend/app/Masterfrontend/app/DeliverablesDash | 3:8 (16%)3:8 (6%)3:8 (3%)4:9 (2%)3:8 (9%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 383:388 (1%)407:412 (1%)432:437 (1%)457:462 (1%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 380:385 (1%)404:409 (1%)429:434 (1%)454:459 (1%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 378:383 (1%)402:407 (1%)427:432 (1%)452:457 (1%) | view | |
| 6 | x 4 | frontend/appfrontend/appfrontend/appfrontend/app | 217:222 (2%)226:231 (2%)235:240 (2%)244:249 (2%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 379:384 (1%)403:408 (1%)428:433 (1%)453:458 (1%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 377:382 (1%)401:406 (1%)426:431 (1%)451:456 (1%) | view | |
| 6 | x 4 | frontend/app/AssetSearchfrontend/app/DeliverablesDashfrontend/app/DeliverableUploaderfrontend/app | 7:12 (3%)5:10 (6%)9:14 (2%)6:11 (3%) | view | |
| 6 | x 4 | frontend/appfrontend/appfrontend/appfrontend/app | 10:15 (4%)10:15 (5%)16:21 (4%)16:21 (5%) | view | |
| 6 | x 4 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 145:151 (2%)102:108 (3%)175:181 (2%)132:138 (3%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 382:387 (1%)406:411 (1%)431:436 (1%)456:461 (1%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 384:389 (1%)408:413 (1%)433:438 (1%)458:463 (1%) | view | |
| 6 | x 4 | frontend/appfrontend/appfrontend/appfrontend/app | 216:221 (2%)225:230 (2%)234:239 (2%)243:248 (2%) | view | |
| 6 | x 4 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 132:137 (2%)89:94 (3%)162:167 (2%)119:124 (3%) | view | |
| 6 | x 4 | frontend/app/DeliverableItemfrontend/app/DeliverableItemfrontend/app/DeliverableItemfrontend/app/DeliverableItem | 94:99 (3%)83:88 (4%)326:331 (1%)95:100 (2%) | view | |
| 6 | x 4 | frontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterListfrontend/app/MasterList | 381:386 (1%)405:410 (1%)430:435 (1%)455:460 (1%) | view | |
| 6 | x 4 | frontend/appfrontend/appfrontend/app/DeliverablesDashfrontend/app | 4:9 (3%)10:15 (1%)3:8 (6%)6:11 (2%) | view | |
| 6 | x 4 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 144:150 (2%)101:107 (3%)174:180 (2%)131:137 (3%) | view | |
| 6 | x 4 | frontend/app/Masterfrontend/app/Masterfrontend/app/Masterfrontend/app/Master | 160:165 (2%)117:122 (3%)186:191 (2%)143:148 (3%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 60:65 (10%)66:71 (9%)59:64 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 64:69 (10%)70:75 (9%)63:68 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 270:275 (2%)216:221 (3%)197:202 (3%) | view | |
| 6 | x 3 | frontend/appfrontend/appfrontend/app | 53:61 (8%)88:96 (5%)104:112 (4%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 61:66 (10%)67:72 (9%)60:65 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 34:39 (10%)40:45 (9%)33:38 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 44:50 (10%)50:56 (9%)43:49 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 63:68 (10%)69:74 (9%)62:67 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 46:53 (10%)52:59 (9%)45:52 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 35:41 (10%)41:47 (9%)34:40 (10%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 45:52 (10%)51:58 (9%)44:51 (10%) | view | |
| 6 | x 3 | gnm_deliverables/viewsgnm_deliverables/viewsgnm_deliverables/views | 637:643 (1%)652:658 (1%)667:673 (1%) | view | |
| 6 | x 3 | frontend/appfrontend/appfrontend/app | 51:59 (8%)86:94 (5%)102:110 (4%) | view | |
| 6 | x 3 | frontend/app/MasterListfrontend/appfrontend/app/MasterList | 370:375 (1%)177:182 (2%)394:399 (1%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 65:70 (10%)71:76 (9%)64:69 (10%) | view | |
| 6 | x 3 | frontend/app/utilsfrontend/app/utilsfrontend/app/utils | 365:375 (1%)456:466 (1%)537:547 (1%) | view | |
| 6 | x 3 | frontend/app/utilsfrontend/app/utilsfrontend/app/utils | 364:374 (1%)455:465 (1%)536:546 (1%) | view | |
| 6 | x 3 | frontend/app/MasterListfrontend/appfrontend/app | 155:160 (1%)549:554 (1%)245:250 (2%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 62:67 (10%)68:73 (9%)61:66 (10%) | view | |
| 6 | x 3 | frontend/app/DeliverableItemfrontend/app/DeliverableItemfrontend/app/DeliverableItem | 46:52 (3%)37:43 (4%)50:56 (2%) | view | |
| 6 | x 3 | frontend/app/Masterfrontend/app/Masterfrontend/app/Master | 43:49 (10%)49:55 (9%)42:48 (10%) | view | |
| 6 | x 3 | frontend/app/utilsfrontend/app/utilsfrontend/app/utils | 360:367 (1%)451:458 (1%)532:539 (1%) | view | |
| 6 | x 3 | frontend/app/DeliverableItemfrontend/app/Masterfrontend/app/DeliverableItem | 189:194 (2%)327:332 (2%)169:174 (3%) | view | |
| 6 | x 3 | frontend/app/DeliverableItemfrontend/app/DeliverableItemfrontend/app/DeliverableItem | 47:53 (3%)38:44 (4%)51:57 (2%) | 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."