Duplication Overall
- 31% duplication:
- 4,288 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 1,354 duplicated lines
- 165 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 201 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 583:804 (14%)806:1027 (14%) | view | |
| 201 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 583:804 (14%)1029:1250 (14%) | view | |
| 201 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 806:1027 (14%)1029:1250 (14%) | view | |
| 199 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 584:802 (14%)1253:1471 (14%) | view | |
| 199 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 807:1025 (14%)1253:1471 (14%) | view | |
| 199 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 1030:1248 (14%)1253:1471 (14%) | view | |
| 52 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 159:210 (12%)215:266 (12%) | view | |
| 21 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 39:59 (5%)372:392 (5%) | view | |
| 20 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 113:133 (4%)136:156 (4%) | view | |
| 19 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 9:27 (4%)32:50 (4%) | view | |
| 19 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 342:360 (4%)365:383 (4%) | view | |
| 16 | x 2 | src/miragesrc/mirage | 47:62 (11%)116:131 (11%) | view | |
| 15 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 323:337 (1%)678:692 (1%) | view | |
| 15 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 323:337 (1%)901:915 (1%) | view | |
| 15 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 323:337 (1%)1124:1138 (1%) | view | |
| 15 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 323:337 (1%)1347:1361 (1%) | view | |
| 14 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 9:22 (3%)113:126 (3%) | view | |
| 14 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 9:22 (3%)136:149 (3%) | view | |
| 14 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 32:45 (3%)113:126 (3%) | view | |
| 14 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 32:45 (3%)136:149 (3%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 228:241 (<1%)587:600 (<1%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 228:241 (<1%)810:823 (<1%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 228:241 (<1%)1033:1046 (<1%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 228:241 (<1%)1256:1269 (<1%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 364:377 (<1%)737:750 (<1%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 364:377 (<1%)960:973 (<1%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 364:377 (<1%)1183:1196 (<1%) | view | |
| 13 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 364:377 (<1%)1406:1419 (<1%) | view | |
| 12 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 16:27 (2%)349:360 (2%) | view | |
| 12 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 16:27 (2%)372:383 (2%) | view | |
| 12 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 39:50 (2%)349:360 (2%) | view | |
| 11 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 47:57 (2%)263:273 (2%) | view | |
| 11 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 263:273 (2%)380:390 (2%) | view | |
| 11 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 301:315 (<1%)656:670 (<1%) | view | |
| 11 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 301:315 (<1%)879:893 (<1%) | view | |
| 11 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 301:315 (<1%)1102:1116 (<1%) | view | |
| 11 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 301:315 (<1%)1325:1339 (<1%) | view | |
| 10 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 65:75 (2%)398:408 (2%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 360:368 (<1%)724:732 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 360:368 (<1%)947:955 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 360:368 (<1%)1170:1178 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 360:368 (<1%)1393:1401 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 429:437 (<1%)479:487 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 429:437 (<1%)554:562 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 454:462 (<1%)504:512 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 454:462 (<1%)529:537 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 479:487 (<1%)554:562 (<1%) | view | |
| 9 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 504:512 (<1%)529:537 (<1%) | view | |
| 8 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 88:95 (<1%)330:337 (<1%) | view | |
| 8 | x 2 | src/mirage/fixturessrc/mirage/fixtures | 88:95 (<1%)685:692 (<1%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 11 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures... | 456:461 (<1%)506:511 (<1%)531:536 (<1%)754:759 (<1%)779:784 (<1%)977:982 (<1%)1002:1007 (<1%)1200:1205 (<1%)1225:1230 (<1%)1423:1428 (<1%)... | view | |
| 6 | x 11 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures... | 457:462 (<1%)507:512 (<1%)532:537 (<1%)755:760 (<1%)780:785 (<1%)978:983 (<1%)1003:1008 (<1%)1201:1206 (<1%)1226:1231 (<1%)1424:1429 (<1%)... | view | |
| 6 | x 9 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 363:368 (<1%)718:723 (<1%)727:732 (<1%)941:946 (<1%)950:955 (<1%)1164:1169 (<1%)1173:1178 (<1%)1387:1392 (<1%)1396:1401 (<1%) | view | |
| 6 | x 7 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 202:207 (1%)368:373 (<1%)741:746 (<1%)964:969 (<1%)1187:1192 (<1%)1410:1415 (<1%)258:263 (1%) | view | |
| 6 | x 7 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 455:460 (<1%)505:510 (<1%)530:535 (<1%)778:783 (<1%)1001:1006 (<1%)1224:1229 (<1%)1447:1452 (<1%) | view | |
| 6 | x 7 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 201:206 (1%)367:372 (<1%)740:745 (<1%)963:968 (<1%)1186:1191 (<1%)1409:1414 (<1%)257:262 (1%) | view | |
| 6 | x 6 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 16:21 (1%)39:44 (1%)120:125 (1%)143:148 (1%)349:354 (1%)372:377 (1%) | view | |
| 6 | x 6 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 88:93 (<1%)330:335 (<1%)685:690 (<1%)908:913 (<1%)1131:1136 (<1%)1354:1359 (<1%) | view | |
| 6 | x 6 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 81:86 (<1%)323:328 (<1%)678:683 (<1%)901:906 (<1%)1124:1129 (<1%)1347:1352 (<1%) | view | |
| 6 | x 6 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 89:94 (<1%)331:336 (<1%)686:691 (<1%)909:914 (<1%)1132:1137 (<1%)1355:1360 (<1%) | view | |
| 6 | x 6 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 9:14 (1%)32:37 (1%)113:118 (1%)136:141 (1%)342:347 (1%)365:370 (1%) | view | |
| 6 | x 6 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 17:22 (1%)40:45 (1%)121:126 (1%)144:149 (1%)350:355 (1%)373:378 (1%) | view | |
| 6 | x 6 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 90:95 (<1%)332:337 (<1%)687:692 (<1%)910:915 (<1%)1133:1138 (<1%)1356:1361 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 304:311 (<1%)659:666 (<1%)882:889 (<1%)1105:1112 (<1%)1328:1335 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 365:370 (<1%)738:743 (<1%)961:966 (<1%)1184:1189 (<1%)1407:1412 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 269:276 (<1%)629:636 (<1%)852:859 (<1%)1075:1082 (<1%)1298:1305 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 327:332 (<1%)682:687 (<1%)905:910 (<1%)1128:1133 (<1%)1351:1356 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 362:367 (<1%)726:731 (<1%)949:954 (<1%)1172:1177 (<1%)1395:1400 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 326:331 (<1%)681:686 (<1%)904:909 (<1%)1127:1132 (<1%)1350:1355 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 233:238 (<1%)592:597 (<1%)815:820 (<1%)1038:1043 (<1%)1261:1266 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 360:365 (<1%)724:729 (<1%)947:952 (<1%)1170:1175 (<1%)1393:1398 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 303:309 (<1%)658:664 (<1%)881:887 (<1%)1104:1110 (<1%)1327:1333 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 308:315 (<1%)663:670 (<1%)886:893 (<1%)1109:1116 (<1%)1332:1339 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 301:308 (<1%)656:663 (<1%)879:886 (<1%)1102:1109 (<1%)1325:1332 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 229:234 (<1%)588:593 (<1%)811:816 (<1%)1034:1039 (<1%)1257:1262 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 369:374 (<1%)742:747 (<1%)965:970 (<1%)1188:1193 (<1%)1411:1416 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 324:329 (<1%)679:684 (<1%)902:907 (<1%)1125:1130 (<1%)1348:1353 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 231:236 (<1%)590:595 (<1%)813:818 (<1%)1036:1041 (<1%)1259:1264 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 307:313 (<1%)662:668 (<1%)885:891 (<1%)1108:1114 (<1%)1331:1337 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 325:330 (<1%)680:685 (<1%)903:908 (<1%)1126:1131 (<1%)1349:1354 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 232:237 (<1%)591:596 (<1%)814:819 (<1%)1037:1042 (<1%)1260:1265 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 329:334 (<1%)684:689 (<1%)907:912 (<1%)1130:1135 (<1%)1353:1358 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 328:333 (<1%)683:688 (<1%)906:911 (<1%)1129:1134 (<1%)1352:1357 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 361:366 (<1%)725:730 (<1%)948:953 (<1%)1171:1176 (<1%)1394:1399 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 366:371 (<1%)739:744 (<1%)962:967 (<1%)1185:1190 (<1%)1408:1413 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 364:369 (<1%)737:742 (<1%)960:965 (<1%)1183:1188 (<1%)1406:1411 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 371:377 (<1%)744:750 (<1%)967:973 (<1%)1190:1196 (<1%)1413:1419 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 370:375 (<1%)743:748 (<1%)966:971 (<1%)1189:1194 (<1%)1412:1417 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 271:277 (<1%)631:637 (<1%)854:860 (<1%)1077:1083 (<1%)1300:1306 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 234:239 (<1%)593:598 (<1%)816:821 (<1%)1039:1044 (<1%)1262:1267 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 235:241 (<1%)594:600 (<1%)817:823 (<1%)1040:1046 (<1%)1263:1269 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 230:235 (<1%)589:594 (<1%)812:817 (<1%)1035:1040 (<1%)1258:1263 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 305:312 (<1%)660:667 (<1%)883:890 (<1%)1106:1113 (<1%)1329:1336 (<1%) | view | |
| 6 | x 5 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 228:233 (<1%)587:592 (<1%)810:815 (<1%)1033:1038 (<1%)1256:1261 (<1%) | view | |
| 6 | x 4 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 643:650 (<1%)866:873 (<1%)1089:1096 (<1%)1312:1319 (<1%) | view | |
| 6 | x 4 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 748:754 (<1%)971:977 (<1%)1194:1200 (<1%)1417:1423 (<1%) | view | |
| 6 | x 4 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 766:771 (<1%)989:994 (<1%)1212:1217 (<1%)1435:1440 (<1%) | view | |
| 6 | x 4 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 747:753 (<1%)970:976 (<1%)1193:1199 (<1%)1416:1422 (<1%) | view | |
| 6 | x 4 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 757:762 (<1%)980:985 (<1%)1203:1208 (<1%)1426:1431 (<1%) | view | |
| 6 | x 4 | src/mirage/fixturessrc/mirage/fixturessrc/mirage/fixturessrc/mirage/fixtures | 721:726 (<1%)944:949 (<1%)1167:1172 (<1%)1390:1395 (<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."