anthropics/claude-agent-sdk-demos
Duplication Places in code with 6 or more lines that are exactly the same. |
Duplication Overall
- 13% duplication:
- 13,719 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 1,808 duplicated lines
- 323 duplicates
Duplication per Extension
Duplication per Component (primary)
Duplication Between Components (50+ lines)
flowchart TB
n0["email-agent"]
n1["hello-world"]
n0 ---|"54"| 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
email-agent (<1%)
  --> hello-world (57%)
54
1 file pair
details...
flowchart TB
n0["email-agent"]
n1["hello-world"]
n0 ---|"54"| 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 |
|---|---|---|---|
| email-agent (<1%)   --> hello-world (57%) |
54 | 1 file pair | details... |
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 33 | x 2 | email-agent/client/components/viewsemail-agent/client/components/views | 38:84 (44%)40:86 (43%) | view | |
| 28 | x 2 | email-agent/ccsdkemail-agent/ccsdk | 311:348 (8%)557:594 (6%) | view | |
| 27 | x 2 | email-agent/ccsdkhello-world | 37:75 (34%)17:55 (57%) | view | |
| 25 | x 2 | excel-demo/src/mainexcel-demo/src/main | 155:183 (10%)256:284 (10%) | view | |
| 24 | x 2 | email-agent/databaseemail-agent/database | 91:114 (5%)17:53 (12%) | view | |
| 22 | x 2 | email-agent/agent/.claud...ction-creator/templatesemail-agent/agent/custom_scripts/actions | 115:141 (20%)104:130 (22%) | view | |
| 18 | x 2 | email-agent/client/componentsemail-agent/client/components | 124:144 (6%)52:72 (14%) | view | |
| 18 | x 2 | email-agent/agent/.claud...ction-creator/templatesemail-agent/agent/custom_scripts/actions | 54:78 (16%)43:67 (18%) | view | |
| 18 | x 2 | email-agent/agent/.claud...ction-creator/templatesemail-agent/agent/custom_scripts/actions | 82:109 (16%)71:98 (18%) | view | |
| 17 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 16:33 (7%)79:96 (7%) | view | |
| 17 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 16:33 (7%)247:264 (7%) | view | |
| 17 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 79:96 (7%)247:264 (7%) | view | |
| 17 | x 2 | email-agent/client/componentsemail-agent/client/components | 179:197 (6%)108:126 (13%) | view | |
| 16 | x 2 | email-agent/client/components/messageemail-agent/client/components/views | 52:75 (16%)49:72 (21%) | view | |
| 16 | x 2 | email-agent/client/components/messageemail-agent/client/components/views | 52:75 (16%)47:70 (21%) | view | |
| 15 | x 2 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/actions | 44:62 (17%)38:56 (19%) | view | |
| 14 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 26:39 (5%)106:119 (5%) | view | |
| 14 | x 2 | email-agent/agent/.claud...ction-creator/templatesemail-agent/agent/custom_scripts/actions | 65:81 (20%)43:59 (26%) | view | |
| 13 | x 2 | email-agent/ccsdkemail-agent/ccsdk | 52:64 (10%)133:145 (10%) | view | |
| 13 | x 2 | email-agent/databaseemail-agent/database | 151:165 (2%)157:171 (3%) | view | |
| 12 | x 2 | email-agent/ccsdkemail-agent/ccsdk | 447:458 (2%)478:489 (2%) | view | |
| 12 | x 2 | email-agent/databaseemail-agent/database | 133:144 (2%)71:83 (6%) | view | |
| 12 | x 2 | email-agent/agent/.claud...ction-creator/templatesemail-agent/agent/custom_scripts/actions | 17:28 (11%)15:26 (12%) | view | |
| 11 | x 2 | email-agent/ccsdkemail-agent/ccsdk | 448:458 (2%)497:507 (2%) | view | |
| 11 | x 2 | email-agent/ccsdkemail-agent/ccsdk | 479:489 (2%)497:507 (2%) | view | |
| 11 | x 2 | email-agent/databaseemail-agent/database | 124:136 (1%)129:140 (2%) | view | |
| 10 | x 2 | excel-demo/src/renderer/componentsexcel-demo/src/renderer/components | 124:133 (5%)148:157 (5%) | view | |
| 10 | x 2 | email-agent/databaseemail-agent/database | 119:128 (2%)57:67 (5%) | view | |
| 10 | x 2 | email-agent/client/componentsemail-agent/client/components | 148:159 (3%)76:87 (8%) | view | |
| 10 | x 2 | email-agent/ccsdkemail-agent/client/hooks | 9:18 (12%)4:13 (11%) | view | |
| 10 | x 2 | email-agent/databaseemail-agent/database | 186:196 (1%)191:201 (2%) | view | |
| 10 | x 2 | email-agent/databaseemail-agent/database | 200:210 (1%)203:213 (2%) | view | |
| 9 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 185:193 (3%)219:227 (3%) | view | |
| 9 | x 2 | email-agent/agent/.claud...ction-creator/templatesemail-agent/agent/custom_scripts/actions | 83:91 (13%)61:69 (17%) | view | |
| 9 | x 2 | email-agent/databaseemail-agent/database | 150:158 (2%)115:123 (4%) | view | |
| 9 | x 2 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/actions | 25:34 (10%)20:29 (11%) | view | |
| 9 | x 2 | email-agent/client/components/viewsemail-agent/client/components/views | 19:29 (12%)19:29 (11%) | view | |
| 9 | x 2 | email-agent/agent/custom_scripts/ui-statesemail-agent/client/components/custom | 10:18 (32%)6:14 (6%) | view | |
| 9 | x 2 | email-agent/agent/custom_scriptsemail-agent/client/components/message | 165:188 (5%)30:38 (11%) | view | |
| 9 | x 2 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/listeners | 50:62 (10%)71:81 (6%) | view | |
| 9 | x 2 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/listeners | 44:56 (11%)71:81 (6%) | view | |
| 8 | x 2 | excel-demo/src/mainexcel-demo/src/main | 227:234 (3%)245:252 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 63:70 (3%)129:136 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 63:70 (3%)163:170 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 63:70 (3%)197:204 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 63:70 (3%)231:238 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 63:70 (3%)283:290 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 129:136 (3%)163:170 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 129:136 (3%)197:204 (3%) | view | |
| 8 | x 2 | email-agent/server/endpointsemail-agent/server/endpoints | 129:136 (3%)231:238 (3%) | view |
Most Frequent Duplicates
The list of 49 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 13 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints... | 98:103 (7%)65:70 (2%)89:94 (5%)53:58 (2%)132:137 (5%)137:142 (2%)234:239 (2%)294:299 (2%)131:136 (2%)165:170 (2%)... | view | |
| 6 | x 13 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints... | 72:77 (7%)54:59 (2%)78:83 (5%)42:47 (2%)122:127 (5%)125:130 (2%)226:231 (2%)286:291 (2%)120:125 (2%)154:159 (2%)... | view | |
| 6 | x 11 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints... | 97:102 (7%)64:69 (2%)88:93 (5%)52:57 (2%)131:136 (5%)136:141 (2%)130:135 (2%)164:169 (2%)198:203 (2%)232:237 (2%)... | view | |
| 6 | x 10 | email-agent/server/endpointsemail-agent/serveremail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 49:54 (5%)291:296 (2%)53:58 (2%)77:82 (5%)121:126 (5%)119:124 (2%)153:158 (2%)187:192 (2%)221:226 (2%)273:278 (2%) | view | |
| 6 | x 10 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/serveremail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 13:18 (7%)28:33 (2%)303:308 (2%)149:154 (2%)29:34 (7%)51:56 (7%)91:96 (2%)105:110 (2%)259:264 (2%)250:255 (2%) | view | |
| 6 | x 10 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 96:101 (7%)63:68 (2%)87:92 (5%)51:56 (2%)135:140 (2%)129:134 (2%)163:168 (2%)197:202 (2%)231:236 (2%)283:288 (2%) | view | |
| 6 | x 7 | email-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdk | 125:131 (1%)152:158 (1%)177:183 (1%)202:208 (1%)227:233 (1%)252:258 (1%)281:287 (1%) | view | |
| 6 | x 6 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/serveremail-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 50:55 (7%)27:32 (2%)302:307 (2%)90:95 (2%)104:109 (2%)258:263 (2%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 25:30 (2%)88:93 (2%)256:261 (2%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 18:24 (2%)81:87 (2%)249:255 (2%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 86:91 (7%)42:47 (2%)180:185 (2%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 51:58 (8%)53:60 (7%)56:63 (6%) | view | |
| 6 | x 3 | email-agent/client/components/messageemail-agent/client/components/messageemail-agent/client/components/message | 29:34 (1%)51:56 (1%)68:73 (1%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 21:27 (2%)84:90 (2%)252:258 (2%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 24:29 (2%)87:92 (2%)255:260 (2%) | view | |
| 6 | x 3 | email-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdk | 452:457 (1%)483:488 (1%)501:506 (1%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 58:66 (8%)60:68 (7%)63:71 (6%) | view | |
| 6 | x 3 | email-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdk | 448:453 (1%)479:484 (1%)497:502 (1%) | view | |
| 6 | x 3 | email-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdk | 453:458 (1%)484:489 (1%)502:507 (1%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 62:70 (8%)64:72 (7%)67:75 (6%) | view | |
| 6 | x 3 | email-agent/databaseemail-agent/databaseemail-agent/database | 131:136 (<1%)73:78 (3%)135:140 (1%) | view | |
| 6 | x 3 | email-agent/client/components/messageemail-agent/client/components/messageemail-agent/client/components/message | 108:113 (1%)52:57 (13%)508:513 (1%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 19:25 (2%)82:88 (2%)250:256 (2%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 52:60 (8%)54:62 (7%)57:65 (6%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 57:65 (8%)59:67 (7%)62:70 (6%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 17:22 (2%)80:85 (2%)248:253 (2%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 50:57 (8%)52:59 (7%)55:62 (6%) | view | |
| 6 | x 3 | email-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdk | 451:456 (1%)482:487 (1%)500:505 (1%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 54:62 (8%)56:64 (7%)59:67 (6%) | view | |
| 6 | x 3 | email-agent/databaseemail-agent/databaseemail-agent/database | 191:196 (<1%)177:182 (3%)196:201 (1%) | view | |
| 6 | x 3 | email-agent/client/componentsemail-agent/client/components/messageemail-agent/agent/custom_scripts | 7:12 (18%)33:38 (7%)173:188 (3%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 48:55 (8%)50:57 (7%)53:60 (6%) | view | |
| 6 | x 3 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/listeners | 50:59 (6%)44:53 (7%)71:78 (4%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 20:26 (2%)83:89 (2%)251:257 (2%) | view | |
| 6 | x 3 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/listeners | 57:62 (6%)51:56 (7%)76:81 (4%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 22:28 (2%)85:91 (2%)253:259 (2%) | view | |
| 6 | x 3 | email-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdk | 449:454 (1%)480:485 (1%)498:503 (1%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 60:67 (8%)62:69 (7%)65:72 (6%) | view | |
| 6 | x 3 | email-agent/databaseemail-agent/databaseemail-agent/database | 129:134 (<1%)71:76 (3%)133:138 (1%) | view | |
| 6 | x 3 | email-agent/client/componentsemail-agent/client/components/messageemail-agent/agent/custom_scripts | 5:10 (18%)31:36 (7%)167:182 (3%) | view | |
| 6 | x 3 | email-agent/client/componentsemail-agent/client/components/messageemail-agent/agent/custom_scripts | 6:11 (18%)32:37 (7%)170:185 (3%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 16:21 (2%)79:84 (2%)247:252 (2%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 55:64 (8%)57:66 (7%)60:69 (6%) | view | |
| 6 | x 3 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/listeners | 55:61 (6%)49:55 (7%)75:80 (4%) | view | |
| 6 | x 3 | email-agent/databaseemail-agent/databaseemail-agent/database | 130:135 (<1%)72:77 (3%)134:139 (1%) | view | |
| 6 | x 3 | email-agent/server/endpointsemail-agent/server/endpointsemail-agent/server/endpoints | 26:31 (2%)89:94 (2%)257:262 (2%) | view | |
| 6 | x 3 | email-agent/ccsdkemail-agent/ccsdkemail-agent/ccsdk | 450:455 (1%)481:486 (1%)499:504 (1%) | view | |
| 6 | x 3 | email-agent/client/components/viewsemail-agent/client/components/viewsemail-agent/client/components/message | 47:54 (8%)49:56 (7%)52:59 (6%) | view | |
| 6 | x 3 | email-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/actionsemail-agent/agent/custom_scripts/listeners | 53:60 (6%)47:54 (7%)74:79 (4%) | 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."