guardian/interactive-election-polls-2015
Duplication Places in code with 6 or more lines that are exactly the same. |
Duplication Overall
- 24% duplication:
- 7,879 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 1,920 duplicated lines
- 210 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 170 | x 2 | src/widgetssrc/widgets | 155:367 (62%)154:366 (62%) | view | |
| 170 | x 2 | src/widgetssrc/widgets | 154:366 (62%)153:365 (62%) | view | |
| 170 | x 2 | src/widgetssrc/widgets | 155:367 (62%)153:365 (62%) | view | |
| 168 | x 2 | src/widgetssrc/widgets | 158:367 (61%)156:365 (61%) | view | |
| 168 | x 2 | src/widgetssrc/widgets | 157:366 (61%)158:367 (61%) | view | |
| 168 | x 2 | src/widgetssrc/widgets | 158:367 (61%)158:367 (61%) | view | |
| 65 | x 2 | src/widgetssrc/widgets | 162:243 (23%)209:295 (23%) | view | |
| 65 | x 2 | src/widgetssrc/widgets | 162:243 (23%)207:293 (23%) | view | |
| 65 | x 2 | src/widgetssrc/widgets | 209:295 (23%)162:243 (23%) | view | |
| 65 | x 2 | src/widgetssrc/widgets | 162:243 (23%)208:294 (23%) | view | |
| 53 | x 2 | src/widgetssrc/widgets | 265:330 (19%)239:304 (20%) | view | |
| 53 | x 2 | src/widgetssrc/widgets | 264:329 (19%)239:304 (20%) | view | |
| 53 | x 2 | src/widgetssrc/widgets | 239:304 (20%)263:328 (19%) | view | |
| 53 | x 2 | src/widgetssrc/widgets | 265:330 (19%)239:304 (20%) | view | |
| 51 | x 2 | src/widgetssrc/widgets | 278:344 (18%)151:217 (31%) | view | |
| 49 | x 2 | src/widgetssrc/widgets | 87:151 (18%)87:150 (18%) | view | |
| 49 | x 2 | src/widgetssrc/widgets | 87:150 (18%)87:150 (18%) | view | |
| 49 | x 2 | src/widgetssrc/widgets | 87:151 (18%)87:150 (18%) | view | |
| 47 | x 2 | src/widgetssrc/widgets | 57:116 (17%)88:149 (17%) | view | |
| 46 | x 2 | src/widgetssrc/widgets | 203:258 (16%)177:232 (18%) | view | |
| 46 | x 2 | src/widgetssrc/widgets | 202:257 (16%)177:232 (18%) | view | |
| 46 | x 2 | src/widgetssrc/widgets | 177:232 (18%)201:256 (16%) | view | |
| 46 | x 2 | src/widgetssrc/widgets | 203:258 (16%)177:232 (18%) | view | |
| 41 | x 2 | src/widgetssrc/widgets | 162:211 (15%)183:232 (16%) | view | |
| 27 | x 2 | src/widgetssrc/widgets | 87:122 (9%)86:121 (9%) | view | |
| 27 | x 2 | src/widgetssrc/widgets | 331:367 (9%)304:340 (10%) | view | |
| 27 | x 2 | src/widgetssrc/widgets | 330:366 (9%)304:340 (10%) | view | |
| 27 | x 2 | src/widgetssrc/widgets | 87:122 (9%)86:121 (9%) | view | |
| 27 | x 2 | src/widgetssrc/widgets | 304:340 (10%)329:365 (9%) | view | |
| 27 | x 2 | src/widgetssrc/widgets | 331:367 (9%)304:340 (10%) | view | |
| 27 | x 2 | src/widgetssrc/widgets | 87:122 (9%)86:121 (9%) | view | |
| 25 | x 2 | src/widgetssrc/widgets | 86:116 (9%)99:129 (15%) | view | |
| 25 | x 2 | src/widgetssrc/widgets | 57:88 (9%)89:122 (9%) | view | |
| 25 | x 2 | src/widgetssrc/widgets | 119:149 (9%)99:129 (15%) | view | |
| 25 | x 2 | src/widgetssrc/widgets | 89:122 (9%)57:88 (9%) | view | |
| 25 | x 2 | src/widgetssrc/widgets | 57:88 (9%)89:122 (9%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 278:308 (8%)331:362 (8%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 329:360 (8%)151:182 (13%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 278:308 (8%)329:360 (8%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 331:362 (8%)151:182 (13%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 331:362 (8%)278:308 (8%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 304:335 (8%)151:182 (13%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 278:308 (8%)304:335 (8%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 331:362 (8%)151:182 (13%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 278:308 (8%)330:361 (8%) | view | |
| 22 | x 2 | src/widgetssrc/widgets | 330:361 (8%)151:182 (13%) | view | |
| 21 | x 2 | src/widgetssrc/widgets | 125:150 (7%)124:149 (7%) | view | |
| 21 | x 2 | src/widgetssrc/widgets | 91:116 (7%)125:150 (7%) | view | |
| 21 | x 2 | src/widgetssrc/widgets | 125:150 (7%)104:129 (12%) | view | |
| 21 | x 2 | src/widgetssrc/widgets | 126:151 (7%)91:116 (7%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 8 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 18:23 (3%)134:139 (2%)134:139 (2%)100:105 (2%)113:118 (3%)135:140 (2%)133:138 (2%)113:118 (2%) | view | |
| 6 | x 8 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 15:20 (3%)131:136 (2%)131:136 (2%)97:102 (2%)110:115 (3%)132:137 (2%)130:135 (2%)110:115 (2%) | view | |
| 6 | x 8 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 16:21 (3%)132:137 (2%)132:137 (2%)98:103 (2%)111:116 (3%)133:138 (2%)131:136 (2%)111:116 (2%) | view | |
| 6 | x 8 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 19:24 (3%)135:140 (2%)135:140 (2%)101:106 (2%)114:119 (3%)136:141 (2%)134:139 (2%)114:119 (2%) | view | |
| 6 | x 8 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 14:19 (3%)130:135 (2%)130:135 (2%)96:101 (2%)109:114 (3%)131:136 (2%)129:134 (2%)109:114 (2%) | view | |
| 6 | x 8 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 17:22 (3%)133:138 (2%)133:138 (2%)99:104 (2%)112:117 (3%)134:139 (2%)132:137 (2%)112:117 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 62:68 (2%)77:83 (3%)95:102 (2%)94:101 (2%)95:102 (2%)74:80 (2%)95:102 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 64:70 (2%)79:85 (3%)98:104 (2%)97:103 (2%)98:104 (2%)76:82 (2%)98:104 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 57:67 (2%)71:82 (3%)89:101 (2%)88:100 (2%)89:101 (2%)68:79 (2%)89:101 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 154:159 (3%)303:308 (2%)249:254 (2%)301:306 (2%)277:282 (2%)303:308 (2%)302:307 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 62:68 (3%)209:215 (2%)210:216 (2%)163:169 (2%)208:214 (2%)184:190 (2%)210:216 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 299:304 (2%)173:178 (3%)353:358 (2%)353:358 (2%)351:356 (2%)326:331 (2%)352:357 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 79:85 (3%)227:233 (2%)180:186 (2%)225:231 (2%)201:207 (2%)227:233 (2%)226:232 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 295:301 (2%)169:175 (3%)349:355 (2%)349:355 (2%)347:353 (2%)322:328 (2%)348:354 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/js/templatessrc/widgets | 41:46 (2%)41:46 (2%)41:46 (2%)34:39 (3%)34:39 (2%)14:19 (4%)41:46 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 153:158 (3%)302:307 (2%)248:253 (2%)300:305 (2%)276:281 (2%)302:307 (2%)301:306 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 6:19 (2%)6:19 (2%)6:19 (2%)6:12 (3%)6:12 (2%)6:12 (2%)6:19 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 298:303 (2%)172:177 (3%)352:357 (2%)352:357 (2%)350:355 (2%)325:330 (2%)351:356 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 2:8 (2%)2:8 (2%)2:8 (2%)2:8 (3%)2:8 (2%)2:8 (2%)2:8 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 302:307 (2%)176:181 (3%)356:361 (2%)356:361 (2%)354:359 (2%)329:334 (2%)355:360 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 8:21 (2%)8:21 (2%)8:21 (2%)8:14 (3%)8:14 (2%)8:14 (2%)8:21 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 66:71 (2%)81:86 (3%)100:105 (2%)99:104 (2%)100:105 (2%)78:83 (2%)100:105 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 303:308 (2%)177:182 (3%)357:362 (2%)357:362 (2%)355:360 (2%)330:335 (2%)356:361 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 152:157 (3%)301:306 (2%)247:252 (2%)299:304 (2%)275:280 (2%)301:306 (2%)300:305 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 284:294 (2%)158:168 (3%)338:348 (2%)338:348 (2%)336:346 (2%)311:321 (2%)337:347 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 104:110 (2%)117:123 (3%)139:145 (2%)138:144 (2%)137:143 (2%)117:123 (2%)138:144 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 361:366 (2%)210:216 (3%)336:343 (2%)361:366 (2%)359:364 (2%)334:339 (2%)360:365 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 300:305 (2%)174:179 (3%)354:359 (2%)354:359 (2%)352:357 (2%)327:332 (2%)353:358 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 157:162 (3%)306:311 (2%)252:257 (2%)304:309 (2%)280:285 (2%)306:311 (2%)305:310 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 61:67 (3%)208:214 (2%)209:215 (2%)162:168 (2%)207:213 (2%)183:189 (2%)209:215 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 294:300 (2%)168:174 (3%)348:354 (2%)348:354 (2%)346:352 (2%)321:327 (2%)347:353 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 156:161 (3%)305:310 (2%)251:256 (2%)303:308 (2%)279:284 (2%)305:310 (2%)304:309 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 301:306 (2%)175:180 (3%)355:360 (2%)355:360 (2%)353:358 (2%)328:333 (2%)354:359 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 123:130 (3%)271:278 (2%)224:231 (2%)269:276 (2%)245:252 (2%)271:278 (2%)270:277 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 285:295 (2%)159:169 (3%)339:349 (2%)339:349 (2%)337:347 (2%)312:322 (2%)338:348 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 109:116 (2%)122:129 (3%)144:151 (2%)143:150 (2%)142:149 (2%)122:129 (2%)143:150 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 4:10 (2%)4:10 (2%)4:10 (2%)4:10 (3%)4:10 (2%)4:10 (2%)4:10 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 1:6 (2%)1:6 (2%)1:6 (2%)1:6 (3%)1:6 (2%)1:6 (2%)1:6 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 124:132 (3%)272:280 (2%)225:233 (2%)270:278 (2%)246:254 (2%)272:280 (2%)271:279 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 279:290 (2%)153:164 (3%)333:344 (2%)333:344 (2%)331:342 (2%)306:317 (2%)332:343 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 362:367 (2%)211:217 (3%)337:344 (2%)362:367 (2%)360:365 (2%)335:340 (2%)361:366 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 288:297 (2%)162:171 (3%)342:351 (2%)342:351 (2%)340:349 (2%)315:324 (2%)341:350 (2%) | view | |
| 6 | x 7 | src/js/seatschartssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 77:83 (3%)225:231 (2%)178:184 (2%)223:229 (2%)199:205 (2%)225:231 (2%)224:230 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 290:298 (2%)164:172 (3%)344:352 (2%)344:352 (2%)342:350 (2%)317:325 (2%)343:351 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 106:113 (2%)119:126 (3%)141:148 (2%)140:147 (2%)139:146 (2%)119:126 (2%)140:147 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 105:112 (2%)118:125 (3%)140:147 (2%)139:146 (2%)138:145 (2%)118:125 (2%)139:146 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 108:114 (2%)121:127 (3%)143:149 (2%)142:148 (2%)141:147 (2%)121:127 (2%)142:148 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 5:18 (2%)5:18 (2%)5:18 (2%)5:11 (3%)5:11 (2%)5:11 (2%)5:18 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 102:108 (2%)115:121 (3%)137:143 (2%)136:142 (2%)135:141 (2%)115:121 (2%)136:142 (2%) | view | |
| 6 | x 7 | src/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgetssrc/widgets | 297:302 (2%)171:176 (3%)351:356 (2%)351:356 (2%)349:354 (2%)324:329 (2%)350:355 (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."