Duplication Overall
- 13% duplication:
- 23,958 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 3,139 duplicated lines
- 396 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 112 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 1009:1122 (6%)2091:2210 (6%) | view | |
| 71 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 285:361 (16%)244:321 (22%) | view | |
| 60 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 1063:1122 (3%)1892:1954 (3%) | view | |
| 60 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 1892:1954 (3%)2148:2210 (3%) | view | |
| 59 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 397:462 (11%)238:303 (19%) | view | |
| 55 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 403:462 (11%)285:344 (12%) | view | |
| 54 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 953:1006 (3%)2035:2088 (3%) | view | |
| 37 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 38:88 (2%)113:156 (2%) | view | |
| 32 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6465:6496 (<1%)6661:6692 (<1%) | view | |
| 32 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 250:283 (7%)207:241 (10%) | view | |
| 30 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 1843:1872 (1%)1883:1912 (1%) | view | |
| 28 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6526:6558 (<1%)6581:6608 (<1%) | view | |
| 26 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6352:6377 (<1%)6623:6648 (<1%) | view | |
| 25 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5990:6014 (<1%)6704:6728 (<1%) | view | |
| 22 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5946:5967 (<1%)5990:6011 (<1%) | view | |
| 22 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5946:5967 (<1%)6704:6725 (<1%) | view | |
| 22 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5993:6014 (<1%)6589:6610 (<1%) | view | |
| 22 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6589:6610 (<1%)6707:6728 (<1%) | view | |
| 21 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 1063:1083 (1%)1852:1872 (1%) | view | |
| 21 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 1852:1872 (1%)2148:2168 (1%) | view | |
| 20 | x 2 | src/gabriel/utilssrc/gabriel/utils | 2195:2214 (<1%)2317:2336 (<1%) | view | |
| 20 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5993:6012 (<1%)6539:6558 (<1%) | view | |
| 20 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6539:6558 (<1%)6707:6726 (<1%) | view | |
| 19 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5949:5967 (<1%)6539:6557 (<1%) | view | |
| 19 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5949:5967 (<1%)6589:6607 (<1%) | view | |
| 19 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 129:147 (4%)216:234 (4%) | view | |
| 18 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5997:6014 (<1%)6633:6650 (<1%) | view | |
| 18 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6593:6610 (<1%)6633:6650 (<1%) | view | |
| 18 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6633:6650 (<1%)6711:6728 (<1%) | view | |
| 18 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 177:197 (4%)129:149 (5%) | view | |
| 17 | x 2 | src/gabriel/utilssrc/gabriel/utils | 4621:4637 (<1%)5726:5742 (<1%) | view | |
| 17 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6362:6378 (<1%)6543:6559 (<1%) | view | |
| 17 | x 2 | src/gabriel/utilssrc/gabriel/utils | 290:306 (3%)336:352 (3%) | view | |
| 17 | x 2 | src/gabriel/utilssrc/gabriel/utils | 290:306 (3%)419:435 (3%) | view | |
| 17 | x 2 | src/gabriel/utilssrc/gabriel/utils | 336:352 (3%)419:435 (3%) | view | |
| 16 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5987:6002 (<1%)6471:6486 (<1%) | view | |
| 16 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5987:6002 (<1%)6667:6682 (<1%) | view | |
| 16 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5997:6012 (<1%)6362:6377 (<1%) | view | |
| 16 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6362:6377 (<1%)6593:6608 (<1%) | view | |
| 16 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6362:6377 (<1%)6711:6726 (<1%) | view | |
| 16 | x 2 | src/gabriel/utilssrc/gabriel/utils | 6543:6558 (<1%)6633:6648 (<1%) | view | |
| 16 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 211:226 (3%)163:178 (5%) | view | |
| 15 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5953:5967 (<1%)6362:6376 (<1%) | view | |
| 15 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5953:5967 (<1%)6633:6647 (<1%) | view | |
| 15 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 93:107 (1%)159:173 (1%) | view | |
| 14 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 924:937 (<1%)2005:2018 (<1%) | view | |
| 14 | x 2 | src/gabriel/utilssrc/gabriel/utils | 266:280 (3%)312:326 (3%) | view | |
| 14 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 333:346 (3%)380:393 (3%) | view | |
| 14 | x 2 | src/gabriel/taskssrc/gabriel/tasks | 1355:1368 (1%)1378:1391 (1%) | view | |
| 13 | x 2 | src/gabriel/utilssrc/gabriel/utils | 5946:5958 (<1%)6474:6486 (<1%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 13 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks... | 98:103 (1%)63:68 (1%)49:54 (4%)57:62 (2%)249:269 (<1%)115:120 (<1%)57:62 (2%)59:64 (1%)95:112 (<1%)73:78 (1%)... | view | |
| 6 | x 13 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks... | 97:102 (1%)62:67 (1%)48:53 (4%)56:61 (2%)248:268 (<1%)114:119 (<1%)56:61 (2%)58:63 (1%)94:111 (<1%)72:77 (1%)... | view | |
| 6 | x 11 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks... | 101:106 (1%)66:71 (1%)52:57 (4%)60:65 (2%)267:272 (<1%)60:65 (2%)62:67 (1%)118:123 (<1%)76:81 (1%)62:67 (1%)... | view | |
| 6 | x 11 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks... | 100:105 (1%)65:70 (1%)51:56 (4%)59:64 (2%)266:271 (<1%)117:122 (<1%)59:64 (2%)61:66 (1%)75:80 (1%)61:66 (1%)... | view | |
| 6 | x 11 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks... | 99:104 (1%)64:69 (1%)50:55 (4%)58:63 (2%)250:270 (<1%)116:121 (<1%)58:63 (2%)60:65 (1%)74:79 (1%)60:65 (1%)... | view | |
| 6 | x 10 | src/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabriel | 214:289 (<1%)339:412 (<1%)771:845 (<1%)1089:1154 (<1%)1224:1309 (<1%)1408:1478 (<1%)1535:1609 (<1%)1663:1727 (<1%)1772:1833 (<1%)2303:2370 (<1%) | view | |
| 6 | x 10 | src/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabriel | 213:288 (<1%)338:411 (<1%)770:844 (<1%)1088:1153 (<1%)1223:1308 (<1%)1407:1477 (<1%)1534:1608 (<1%)1662:1726 (<1%)1771:1832 (<1%)2302:2369 (<1%) | view | |
| 6 | x 9 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5953:5958 (<1%)5997:6002 (<1%)6362:6367 (<1%)6481:6486 (<1%)6543:6548 (<1%)6593:6598 (<1%)6633:6638 (<1%)6677:6682 (<1%)6711:6716 (<1%) | view | |
| 6 | x 9 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5962:5967 (<1%)6006:6011 (<1%)6371:6376 (<1%)6488:6493 (<1%)6552:6557 (<1%)6602:6607 (<1%)6642:6647 (<1%)6684:6689 (<1%)6720:6725 (<1%) | view | |
| 6 | x 9 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5961:5966 (<1%)6005:6010 (<1%)6370:6375 (<1%)6487:6492 (<1%)6551:6556 (<1%)6601:6606 (<1%)6641:6646 (<1%)6683:6688 (<1%)6719:6724 (<1%) | view | |
| 6 | x 8 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 6007:6012 (<1%)6372:6377 (<1%)6489:6494 (<1%)6553:6558 (<1%)6603:6608 (<1%)6643:6648 (<1%)6685:6690 (<1%)6721:6726 (<1%) | view | |
| 6 | x 8 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 4921:4926 (<1%)5951:5956 (<1%)5995:6000 (<1%)6479:6484 (<1%)6541:6546 (<1%)6591:6596 (<1%)6675:6680 (<1%)6709:6714 (<1%) | view | |
| 6 | x 8 | src/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabriel | 212:287 (<1%)337:410 (<1%)769:843 (<1%)1406:1476 (<1%)1533:1607 (<1%)1661:1725 (<1%)1770:1831 (<1%)2301:2368 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5952:5957 (<1%)5996:6001 (<1%)6480:6485 (<1%)6542:6547 (<1%)6592:6597 (<1%)6676:6681 (<1%)6710:6715 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5955:5960 (<1%)5999:6004 (<1%)6364:6369 (<1%)6545:6550 (<1%)6595:6600 (<1%)6635:6640 (<1%)6713:6718 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5956:5961 (<1%)6000:6005 (<1%)6365:6370 (<1%)6546:6551 (<1%)6596:6601 (<1%)6636:6641 (<1%)6714:6719 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5958:5963 (<1%)6002:6007 (<1%)6367:6372 (<1%)6548:6553 (<1%)6598:6603 (<1%)6638:6643 (<1%)6716:6721 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5957:5962 (<1%)6001:6006 (<1%)6366:6371 (<1%)6547:6552 (<1%)6597:6602 (<1%)6637:6642 (<1%)6715:6720 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5959:5964 (<1%)6003:6008 (<1%)6368:6373 (<1%)6549:6554 (<1%)6599:6604 (<1%)6639:6644 (<1%)6717:6722 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5950:5955 (<1%)5994:5999 (<1%)6478:6483 (<1%)6540:6545 (<1%)6590:6595 (<1%)6674:6679 (<1%)6708:6713 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5949:5954 (<1%)5993:5998 (<1%)6477:6482 (<1%)6539:6544 (<1%)6589:6594 (<1%)6673:6678 (<1%)6707:6712 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5960:5965 (<1%)6004:6009 (<1%)6369:6374 (<1%)6550:6555 (<1%)6600:6605 (<1%)6640:6645 (<1%)6718:6723 (<1%) | view | |
| 6 | x 7 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5954:5959 (<1%)5998:6003 (<1%)6363:6368 (<1%)6544:6549 (<1%)6594:6599 (<1%)6634:6639 (<1%)6712:6717 (<1%) | view | |
| 6 | x 6 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 6009:6014 (<1%)6491:6496 (<1%)6605:6610 (<1%)6645:6650 (<1%)6687:6692 (<1%)6723:6728 (<1%) | view | |
| 6 | x 6 | src/gabrielsrc/gabriel/taskssrc/gabrielsrc/gabrielsrc/gabrielsrc/gabriel/tasks | 562:567 (<1%)165:170 (<1%)741:746 (<1%)2131:2136 (<1%)2277:2282 (<1%)318:323 (<1%) | view | |
| 6 | x 6 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 6008:6013 (<1%)6490:6495 (<1%)6604:6609 (<1%)6644:6649 (<1%)6686:6691 (<1%)6722:6727 (<1%) | view | |
| 6 | x 6 | src/gabrielsrc/gabriel/taskssrc/gabrielsrc/gabrielsrc/gabrielsrc/gabriel/tasks | 561:566 (<1%)164:169 (<1%)740:745 (<1%)2130:2135 (<1%)2276:2281 (<1%)317:322 (<1%) | view | |
| 6 | x 6 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5987:5992 (<1%)6471:6476 (<1%)6527:6537 (<1%)6582:6587 (<1%)6622:6627 (<1%)6667:6672 (<1%) | view | |
| 6 | x 5 | src/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabriel | 216:291 (<1%)341:414 (<1%)773:847 (<1%)1091:1156 (<1%)1537:1611 (<1%) | view | |
| 6 | x 5 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5946:5951 (<1%)5990:5995 (<1%)6474:6479 (<1%)6670:6675 (<1%)6704:6709 (<1%) | view | |
| 6 | x 5 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 443:448 (<1%)62:67 (4%)113:118 (1%)126:131 (1%)143:148 (1%) | view | |
| 6 | x 5 | src/gabriel/promptssrc/gabriel/promptssrc/gabriel/promptssrc/gabriel/promptssrc/gabriel/prompts | 55:61 (11%)43:49 (15%)84:90 (8%)44:50 (14%)106:112 (6%) | view | |
| 6 | x 5 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5947:5952 (<1%)5991:5996 (<1%)6475:6480 (<1%)6671:6676 (<1%)6705:6710 (<1%) | view | |
| 6 | x 5 | src/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utilssrc/gabriel/utils | 5948:5953 (<1%)5992:5997 (<1%)6476:6481 (<1%)6672:6677 (<1%)6706:6711 (<1%) | view | |
| 6 | x 5 | src/gabrielsrc/gabrielsrc/gabrielsrc/gabrielsrc/gabriel | 215:290 (<1%)340:413 (<1%)772:846 (<1%)1090:1155 (<1%)1536:1610 (<1%) | view | |
| 6 | x 5 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 14:19 (1%)18:23 (1%)16:21 (1%)15:20 (2%)63:68 (<1%) | view | |
| 6 | x 5 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 16:25 (1%)20:29 (1%)18:27 (1%)17:24 (2%)65:74 (<1%) | view | |
| 6 | x 5 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 15:24 (1%)19:28 (1%)17:26 (1%)16:23 (2%)64:73 (<1%) | view | |
| 6 | x 5 | src/gabriel/promptssrc/gabriel/promptssrc/gabriel/promptssrc/gabriel/promptssrc/gabriel/prompts | 54:60 (11%)42:48 (15%)83:89 (8%)43:49 (14%)105:111 (6%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 1068:1073 (<1%)1857:1862 (<1%)1897:1902 (<1%)2153:2158 (<1%) | view | |
| 6 | x 4 | src/gabrielsrc/gabrielsrc/gabrielsrc/gabriel | 314:319 (<1%)1638:1643 (<1%)1854:1859 (<1%)2393:2398 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 1073:1078 (<1%)1862:1867 (<1%)1902:1907 (<1%)2158:2163 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 1065:1070 (<1%)1854:1859 (<1%)1894:1899 (<1%)2150:2155 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 1069:1074 (<1%)1858:1863 (<1%)1898:1903 (<1%)2154:2159 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 1077:1082 (<1%)1866:1871 (<1%)1906:1911 (<1%)2162:2167 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 1070:1075 (<1%)1859:1864 (<1%)1899:1904 (<1%)2155:2160 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 1074:1079 (<1%)1863:1868 (<1%)1903:1908 (<1%)2159:2164 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 24:29 (1%)28:33 (1%)26:31 (1%)73:78 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 627:632 (<1%)643:648 (<1%)659:664 (<1%)675:680 (<1%) | view | |
| 6 | x 4 | src/gabriel/taskssrc/gabriel/taskssrc/gabriel/taskssrc/gabriel/tasks | 20:27 (<1%)15:22 (1%)26:33 (1%)23:30 (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."