Duplication Overall
- 23% duplication:
- 16,075 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 3,774 duplicated lines
- 428 duplicates
Duplication per Extension
Duplication per Component (primary)
Duplication Between Components (50+ lines)
flowchart TB
n0[".fttemplates"]
n1["src"]
n0 ---|"91"| n1
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#DC143CFF,stroke-width:10px
Download:
Mermaid (.mmd)
(open online Mermaid editor)
2D force graph
|
3D force graph
Show more details on duplication between components...
From Component
--> To Component
Duplicated
Lines
File Pairs
Details
.fttemplates (168%)
  --> src (<1%)
91
11 file pairs
details...
flowchart TB
n0[".fttemplates"]
n1["src"]
n0 ---|"91"| n1
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#DC143CFF,stroke-width:10px
Show more details on duplication between components...
| From Component --> To Component |
Duplicated Lines |
File Pairs | Details |
|---|---|---|---|
| .fttemplates (168%)   --> src (<1%) |
91 | 11 file pairs | details... |
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 95 | x 2 | src/components/floating-toolbarsrc/components/message-editor-popover | 31:146 (79%)228:343 (33%) | view | |
| 66 | x 2 | src/components/conversationsrc/components/preference-window | 833:912 (6%)288:367 (19%) | view | |
| 64 | x 2 | src/components/search-windowsrc/components/token-window | 277:348 (21%)204:275 (13%) | view | |
| 59 | x 2 | src/components/conversationsrc/components/token-window | 841:912 (6%)317:388 (12%) | view | |
| 59 | x 2 | src/components/preference-windowsrc/components/token-window | 296:367 (17%)317:388 (12%) | view | |
| 45 | x 2 | src/components/appsrc/components/conversation | 668:723 (7%)841:896 (4%) | view | |
| 45 | x 2 | src/components/appsrc/components/preference-window | 668:723 (7%)296:351 (13%) | view | |
| 45 | x 2 | src/components/appsrc/components/token-window | 668:723 (7%)317:372 (9%) | view | |
| 40 | x 2 | src/components/confirm-dialogsrc/components/input-dialog | 31:76 (42%)31:76 (36%) | view | |
| 39 | x 2 | src/components/appsrc/components/app | 1860:1899 (2%)1983:2022 (2%) | view | |
| 35 | x 2 | src/components/search-windowsrc/components/token-window | 55:93 (11%)56:94 (7%) | view | |
| 32 | x 2 | src/components/appsrc/components/app | 1963:1996 (1%)2264:2297 (1%) | view | |
| 32 | x 2 | src/components/message-editor-popoversrc/components/token-window | 282:321 (11%)326:365 (6%) | view | |
| 32 | x 2 | src/components/floating-toolbarsrc/components/token-window | 85:124 (26%)326:365 (6%) | view | |
| 32 | x 2 | src/components/floating-toolbarsrc/components/preference-window | 85:124 (26%)305:344 (9%) | view | |
| 32 | x 2 | src/components/message-editor-popoversrc/components/preference-window | 282:321 (11%)305:344 (9%) | view | |
| 32 | x 2 | src/components/conversationsrc/components/message-editor-popover | 850:889 (3%)282:321 (11%) | view | |
| 32 | x 2 | src/components/conversationsrc/components/floating-toolbar | 850:889 (3%)85:124 (26%) | view | |
| 32 | x 2 | src/components/appsrc/components/message-editor-popover | 677:716 (5%)282:321 (11%) | view | |
| 32 | x 2 | src/components/appsrc/components/floating-toolbar | 677:716 (5%)85:124 (26%) | view | |
| 31 | x 2 | src/components/search-windowsrc/components/token-window | 154:198 (16%)377:421 (6%) | view | |
| 28 | x 2 | src/utilssrc/utils | 46:76 (5%)159:188 (5%) | view | |
| 28 | x 2 | src/components/appsrc/components/conversation | 21:48 (4%)83:110 (2%) | view | |
| 28 | x 2 | src/components/conversationsrc/components/token-window | 729:757 (2%)247:275 (5%) | view | |
| 28 | x 2 | src/components/conversationsrc/components/search-window | 729:757 (2%)320:348 (9%) | view | |
| 25 | x 2 | src/components/message-developer-contentsrc/components/message-system-content | 171:203 (9%)213:245 (9%) | view | |
| 23 | x 2 | src/components/search-windowsrc/components/token-window | 130:156 (7%)147:173 (4%) | view | |
| 23 | x 2 | src/components/conversationsrc/components/preference-window | 612:638 (2%)150:176 (6%) | view | |
| 23 | x 2 | src/components/appsrc/components/conversation | 519:545 (3%)612:638 (2%) | view | |
| 23 | x 2 | src/components/appsrc/components/preference-window | 519:545 (3%)150:176 (6%) | view | |
| 22 | x 2 | src/components/confirm-dialogsrc/components/input-dialog | 88:125 (23%)107:144 (20%) | view | |
| 21 | x 2 | src/components/message-developer-contentsrc/components/message-system-content | 349:370 (7%)360:381 (7%) | view | |
| 21 | x 2 | src/csssrc/css | 30:52 (45%)40:62 (39%) | view | |
| 20 | x 2 | src/components/search-windowsrc/components/token-window | 95:117 (6%)99:121 (4%) | view | |
| 20 | x 2 | src/components/appsrc/utils | 75:101 (9%)78:105 (4%) | view | |
| 20 | x 2 | src/components/appsrc/css | 480:503 (3%)39:62 (30%) | view | |
| 19 | x 2 | src/components/confirm-dialogsrc/components/input-dialog | 148:167 (16%)169:188 (13%) | view | |
| 19 | x 2 | src/components/message-developer-contentsrc/components/message-system-content | 213:239 (7%)299:324 (7%) | view | |
| 19 | x 2 | src/components/message-developer-contentsrc/components/message-system-content | 274:296 (7%)331:353 (7%) | view | |
| 18 | x 2 | src/components/conversationsrc/components/token-window | 682:701 (1%)205:224 (3%) | view | |
| 18 | x 2 | src/components/conversationsrc/components/search-window | 682:701 (1%)278:297 (6%) | view | |
| 18 | x 2 | src/components/conversationsrc/components/message-editor-popover | 597:618 (1%)187:208 (6%) | view | |
| 17 | x 2 | src/components/appsrc/components/menu | 480:499 (2%)50:69 (30%) | view | |
| 17 | x 2 | src/components/menusrc/css | 50:69 (30%)39:58 (25%) | view | |
| 17 | x 2 | src/components/appsrc/components/conversation | 480:499 (2%)419:438 (1%) | view | |
| 17 | x 2 | src/components/conversationsrc/components/menu | 419:438 (1%)50:69 (30%) | view | |
| 17 | x 2 | src/components/conversationsrc/css | 419:438 (1%)39:58 (25%) | view | |
| 17 | x 2 | src/components/conversationsrc/components/floating-toolbar | 1268:1294 (<1%)126:152 (11%) | view | |
| 17 | x 2 | src/components/floating-toolbarsrc/components/preference-window | 166:192 (11%)686:707 (2%) | view | |
| 17 | x 2 | src/components/conversationsrc/components/token-window | 419:438 (1%)274:293 (3%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 11 | .fttemplates/default-templatesrc/components/message-textsrc/components/toastsrc/components/input-dialogsrc/components/floating-toolbarsrc/components/message-hiddensrc/components/menusrc/components/confirm-dialogsrc/components/token-windowsrc/components/search-window... | 54:61 (33%)140:147 (7%)212:219 (4%)194:201 (4%)236:243 (4%)89:96 (14%)131:138 (8%)172:179 (5%)714:721 (1%)285:292 (3%)... | view | |
| 6 | x 11 | .fttemplates/default-templatesrc/components/message-textsrc/components/toastsrc/components/input-dialogsrc/components/floating-toolbarsrc/components/message-hiddensrc/components/menusrc/components/confirm-dialogsrc/components/token-windowsrc/components/search-window... | 55:62 (33%)141:148 (7%)213:220 (4%)195:202 (4%)237:244 (4%)90:97 (14%)132:139 (8%)173:180 (5%)715:722 (1%)286:293 (3%)... | view | |
| 6 | x 9 | src/components/codexsrc/components/floating-toolbarsrc/components/input-dialogsrc/components/toastsrc/components/message-hiddensrc/components/confirm-dialogsrc/components/preference-windowsrc/components/search-windowsrc/components/message-text | 198:205 (3%)233:240 (4%)191:198 (4%)209:216 (4%)86:93 (14%)169:176 (5%)1102:1109 (<1%)282:289 (3%)137:144 (7%) | view | |
| 6 | x 8 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/floating-toolbarsrc/components/appsrc/components/message-editor-popoversrc/csssrc/components/preference-window | 430:436 (<1%)61:67 (10%)285:291 (1%)59:65 (5%)491:497 (<1%)256:262 (2%)50:56 (9%)81:87 (1%) | view | |
| 6 | x 8 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/floating-toolbarsrc/components/appsrc/components/message-editor-popoversrc/csssrc/components/preference-window | 431:437 (<1%)62:68 (10%)286:292 (1%)60:66 (5%)492:498 (<1%)257:263 (2%)51:57 (9%)82:88 (1%) | view | |
| 6 | x 8 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/message-editor-popoversrc/components/toastsrc/components/floating-toolbarsrc/components/appsrc/css | 433:438 (<1%)64:69 (10%)288:293 (1%)259:264 (2%)70:75 (7%)62:67 (5%)494:499 (<1%)53:58 (9%) | view | |
| 6 | x 8 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/floating-toolbarsrc/components/appsrc/components/message-editor-popoversrc/csssrc/components/preference-window | 429:435 (<1%)60:66 (10%)284:290 (1%)58:64 (5%)490:496 (<1%)255:261 (2%)49:55 (9%)80:86 (1%) | view | |
| 6 | x 7 | src/components/preference-windowsrc/components/toastsrc/components/conversationsrc/components/menusrc/components/token-windowsrc/components/appsrc/css | 75:81 (1%)58:64 (7%)424:430 (<1%)55:61 (10%)279:285 (1%)485:491 (<1%)44:50 (9%) | view | |
| 6 | x 7 | src/components/codexsrc/components/floating-toolbarsrc/components/message-hiddensrc/components/preference-windowsrc/components/search-windowsrc/components/toastsrc/components/message-text | 197:204 (3%)232:239 (4%)85:92 (14%)1101:1108 (<1%)281:288 (3%)208:215 (4%)136:143 (7%) | view | |
| 6 | x 7 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/floating-toolbarsrc/components/message-editor-popoversrc/components/appsrc/css | 419:425 (<1%)50:56 (10%)274:280 (1%)48:54 (5%)245:251 (2%)480:486 (<1%)39:45 (9%) | view | |
| 6 | x 7 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-windowsrc/components/conversation | 102:109 (5%)343:350 (1%)299:306 (2%)694:701 (<1%)795:802 (<1%)322:329 (1%)867:874 (<1%) | view | |
| 6 | x 7 | src/components/preference-windowsrc/components/toastsrc/components/conversationsrc/components/menusrc/components/token-windowsrc/components/appsrc/css | 76:82 (1%)59:65 (7%)425:431 (<1%)56:62 (10%)280:286 (1%)486:492 (<1%)45:51 (9%) | view | |
| 6 | x 7 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-windowsrc/components/conversation | 104:110 (5%)345:351 (1%)301:307 (2%)696:702 (<1%)797:803 (<1%)324:330 (1%)869:875 (<1%) | view | |
| 6 | x 7 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-windowsrc/components/conversation | 101:108 (5%)342:349 (1%)298:305 (2%)693:700 (<1%)794:801 (<1%)321:328 (1%)866:873 (<1%) | view | |
| 6 | x 7 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-windowsrc/components/conversation | 100:106 (5%)341:347 (1%)297:303 (2%)692:698 (<1%)793:799 (<1%)320:326 (1%)865:871 (<1%) | view | |
| 6 | x 7 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-windowsrc/components/conversation | 89:94 (5%)330:335 (1%)286:291 (2%)681:686 (<1%)786:791 (<1%)309:314 (1%)854:859 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 90:96 (5%)331:337 (1%)287:293 (2%)682:688 (<1%)855:861 (<1%)310:316 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 115:122 (5%)356:363 (1%)312:319 (2%)707:714 (<1%)335:342 (1%)880:887 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 112:118 (5%)353:359 (1%)309:315 (2%)704:710 (<1%)332:338 (1%)877:883 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 109:115 (5%)350:356 (1%)306:312 (2%)701:707 (<1%)329:335 (1%)874:880 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 98:105 (5%)339:346 (1%)295:302 (2%)690:697 (<1%)863:870 (<1%)318:325 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 93:100 (5%)334:341 (1%)290:297 (2%)685:692 (<1%)858:865 (<1%)313:320 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 94:101 (5%)335:342 (1%)291:298 (2%)686:693 (<1%)859:866 (<1%)314:321 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 85:91 (5%)326:332 (1%)282:288 (2%)677:683 (<1%)850:856 (<1%)305:311 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 108:114 (5%)349:355 (1%)305:311 (2%)700:706 (<1%)328:334 (1%)873:879 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 75:80 (5%)317:322 (1%)272:277 (2%)668:673 (<1%)841:846 (<1%)296:301 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 86:92 (5%)327:333 (1%)283:289 (2%)678:684 (<1%)851:857 (<1%)306:312 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 105:112 (5%)346:353 (1%)302:309 (2%)697:704 (<1%)325:332 (1%)870:877 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 140:146 (5%)382:388 (1%)337:343 (2%)732:738 (<1%)361:367 (1%)906:912 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 136:142 (5%)378:384 (1%)333:339 (2%)728:734 (<1%)357:363 (1%)902:908 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 87:93 (5%)328:334 (1%)284:290 (2%)679:685 (<1%)852:858 (<1%)307:313 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 76:81 (5%)318:323 (1%)273:278 (2%)669:674 (<1%)842:847 (<1%)297:302 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 134:139 (5%)376:381 (1%)331:336 (2%)726:731 (<1%)355:360 (1%)900:905 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 113:119 (5%)354:360 (1%)310:316 (2%)705:711 (<1%)333:339 (1%)878:884 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 67:73 (5%)308:315 (1%)264:270 (2%)660:666 (<1%)833:839 (<1%)288:294 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 138:144 (5%)380:386 (1%)335:341 (2%)730:736 (<1%)359:365 (1%)904:910 (<1%) | view | |
| 6 | x 6 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/appsrc/csssrc/components/preference-window | 420:426 (<1%)51:57 (10%)275:281 (1%)481:487 (<1%)40:46 (9%)71:77 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 77:82 (5%)319:324 (1%)274:279 (2%)670:675 (<1%)843:848 (<1%)298:303 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 110:116 (5%)351:357 (1%)307:313 (2%)702:708 (<1%)330:336 (1%)875:881 (<1%) | view | |
| 6 | x 6 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/appsrc/csssrc/components/preference-window | 423:429 (<1%)54:60 (10%)278:284 (1%)484:490 (<1%)43:49 (9%)74:80 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 106:113 (5%)347:354 (1%)303:310 (2%)698:705 (<1%)326:333 (1%)871:878 (<1%) | view | |
| 6 | x 6 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/appsrc/csssrc/components/preference-window | 426:433 (<1%)57:64 (10%)281:288 (1%)487:494 (<1%)46:53 (9%)77:84 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 96:102 (5%)337:343 (1%)293:299 (2%)688:694 (<1%)861:867 (<1%)316:322 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 118:124 (5%)359:365 (1%)315:321 (2%)710:716 (<1%)338:344 (1%)883:889 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/conversationsrc/components/preference-window | 92:98 (5%)333:339 (1%)289:295 (2%)684:690 (<1%)857:863 (<1%)312:318 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 114:120 (5%)355:361 (1%)311:317 (2%)706:712 (<1%)334:340 (1%)879:885 (<1%) | view | |
| 6 | x 6 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/appsrc/csssrc/components/preference-window | 422:427 (<1%)53:58 (10%)277:282 (1%)483:488 (<1%)42:47 (9%)73:78 (1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 132:138 (5%)374:380 (1%)329:335 (2%)724:730 (<1%)353:359 (1%)898:904 (<1%) | view | |
| 6 | x 6 | src/components/floating-toolbarsrc/components/token-windowsrc/components/message-editor-popoversrc/components/appsrc/components/preference-windowsrc/components/conversation | 139:145 (5%)381:387 (1%)336:342 (2%)731:737 (<1%)360:366 (1%)905:911 (<1%) | view | |
| 6 | x 6 | src/components/conversationsrc/components/menusrc/components/token-windowsrc/components/appsrc/csssrc/components/preference-window | 427:434 (<1%)58:65 (10%)282:289 (1%)488:495 (<1%)47:54 (9%)78:85 (1%) | view |
Duplicated Units
The list of top 5 duplicated units.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 31 | x 2 | src/components/search-windowsrc/components/token-window | 154:195 377:418 | view | |
| 17 | x 2 | src/components/floating-toolbarsrc/components/conversation | 134:154 1276:1296 | view | |
| 14 | x 2 | src/components/message-developer-contentsrc/components/message-system-content | 82:99 95:113 | view | |
| 6 | x 4 | src/components/message-developer-contentsrc/components/message-system-contentsrc/components/message-unsupportedsrc/components/json-viewer | 194:203 242:249 31:39 63:71 | view | |
| 6 | x 2 | src/components/message-editor-popoversrc/components/preference-window | 106:113 449:456 | 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."