guardian/interactive-gaza-damage
Duplication Places in code with 6 or more lines that are exactly the same. |
Duplication Overall
- 11% duplication:
- 5,613 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 662 duplicated lines
- 100 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 99 | x 2 | src/lib/stylessrc/lib/styles | 1:112 (94%)1:112 (94%) | view | |
| 27 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 67:97 (31%)63:93 (33%) | view | |
| 22 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 35:62 (25%)31:58 (27%) | view | |
| 21 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 74:97 (24%)70:93 (25%) | view | |
| 21 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 70:93 (25%)70:93 (25%) | view | |
| 16 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 51:70 (19%)46:65 (19%) | view | |
| 13 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 35:50 (15%)31:46 (16%) | view | |
| 13 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 31:46 (16%)31:46 (16%) | view | |
| 10 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 50:62 (11%)51:63 (12%) | view | |
| 10 | x 2 | src/lib/components/map/map-layerssrc/lib/components/map/map-layers | 1:11 (22%)1:11 (10%) | view | |
| 9 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
88:96 (4%)121:129 (4%) | view |
| 8 | x 2 | src/atoms/default/storessrc/atoms/default/stores | 1021:1030 (<1%)1036:1045 (<1%) | view | |
| 8 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
73:80 (4%)88:95 (4%) | view |
| 8 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
73:80 (4%)121:128 (4%) | view |
| 8 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
112:119 (4%)156:163 (4%) | view |
| 8 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 1:9 (9%)1:9 (9%) | view | |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
63:69 (3%)74:80 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
63:69 (3%)89:95 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
63:69 (3%)98:104 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
63:69 (3%)122:128 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
63:69 (3%)131:137 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
63:69 (3%)137:143 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
73:79 (3%)112:118 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
73:79 (3%)156:162 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
74:80 (3%)98:104 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
74:80 (3%)131:137 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
74:80 (3%)137:143 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
80:86 (3%)104:110 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
80:86 (3%)113:119 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
80:86 (3%)157:163 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
88:94 (3%)112:118 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
88:94 (3%)156:162 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
89:95 (3%)98:104 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
89:95 (3%)131:137 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
89:95 (3%)137:143 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
98:104 (3%)122:128 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
98:104 (3%)131:137 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
98:104 (3%)137:143 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
104:110 (3%)113:119 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
104:110 (3%)157:163 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
112:118 (3%)121:127 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
121:127 (3%)156:162 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
122:128 (3%)131:137 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
122:128 (3%)137:143 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | svelte |
131:137 (3%)137:143 (3%) | view |
| 7 | x 2 | src/atoms/default/componentssrc/atoms/default/components | 67:74 (8%)58:65 (8%) | view | |
| 6 | x 2 | src/atoms/default/storessrc/atoms/default/stores | 112:119 (<1%)608:615 (<1%) | view | |
| 6 | x 2 | src/atoms/default/storessrc/atoms/default/stores | 146:153 (<1%)697:704 (<1%) | view | |
| 6 | x 2 | src/atoms/default/storessrc/atoms/default/stores | 146:153 (<1%)765:772 (<1%) | view | |
| 6 | x 2 | src/atoms/default/storessrc/atoms/default/stores | 182:189 (<1%)345:352 (<1%) | view |
Most Frequent Duplicates
The list of 38 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 11 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components... | 63:68 (3%)74:79 (3%)80:85 (3%)89:94 (3%)98:103 (3%)104:109 (3%)113:118 (3%)122:127 (3%)131:136 (3%)137:142 (3%)... | view | |
| 6 | x 7 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 64:69 (3%)75:80 (3%)90:95 (3%)99:104 (3%)123:128 (3%)132:137 (3%)138:143 (3%) | view | |
| 6 | x 6 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 66:71 (3%)81:86 (3%)105:110 (3%)114:119 (3%)142:147 (3%)158:163 (3%) | view | |
| 6 | x 5 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 73:78 (3%)88:93 (3%)112:117 (3%)121:126 (3%)156:161 (3%) | view | |
| 6 | x 4 | src/atoms/default/storessrc/atoms/default/storessrc/atoms/default/storessrc/atoms/default/stores | 624:631 (<1%)1023:1030 (<1%)1038:1045 (<1%)1063:1070 (<1%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 85:90 (7%)81:86 (7%)81:86 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 50:57 (7%)46:53 (7%)51:58 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 80:86 (7%)76:82 (7%)76:82 (7%) | view | |
| 6 | x 3 | src/atoms/default/storessrc/atoms/default/storessrc/atoms/default/stores | 146:153 (<1%)697:704 (<1%)765:772 (<1%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 35:42 (7%)31:38 (7%)31:38 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 90:96 (7%)86:92 (7%)86:92 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 74:80 (7%)70:76 (7%)70:76 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 42:48 (7%)38:44 (7%)38:44 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 37:43 (7%)33:39 (7%)33:39 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 43:49 (7%)39:45 (7%)39:45 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 88:94 (7%)84:90 (7%)84:90 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 77:82 (7%)73:78 (7%)73:78 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 79:85 (7%)75:81 (7%)75:81 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 44:50 (7%)40:46 (7%)40:46 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 76:81 (7%)72:77 (7%)72:77 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 87:92 (7%)83:88 (7%)83:88 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 56:62 (7%)52:58 (7%)57:63 (7%) | view | |
| 6 | x 3 | src/atoms/default/storessrc/atoms/default/storessrc/atoms/default/stores | 473:478 (<1%)1022:1027 (<1%)1037:1042 (<1%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 40:45 (7%)36:41 (7%)36:41 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 86:91 (7%)82:87 (7%)82:87 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 78:83 (7%)74:79 (7%)74:79 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 83:89 (7%)79:85 (7%)79:85 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 53:60 (7%)49:56 (7%)54:61 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 91:97 (7%)87:93 (7%)87:93 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 38:44 (7%)34:40 (7%)34:40 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 41:47 (7%)37:43 (7%)37:43 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 67:73 (7%)58:64 (7%)63:69 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 82:88 (7%)78:84 (7%)78:84 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 89:95 (7%)85:91 (7%)85:91 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 81:87 (7%)77:83 (7%)77:83 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 52:58 (7%)48:54 (7%)53:59 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 69:74 (7%)60:65 (7%)65:70 (7%) | view | |
| 6 | x 3 | src/atoms/default/componentssrc/atoms/default/componentssrc/atoms/default/components | 54:61 (7%)50:57 (7%)55:62 (7%) | 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."