guardian/interactive-percentage-russian-controled-ukraine
Duplication Places in code with 6 or more lines that are exactly the same. |
Duplication Overall
- 47% duplication:
- 7,380 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 3,478 duplicated lines
- 173 duplicates
Duplication per Extension
Duplication per Component (primary)
Duplication Between Components (50+ lines)
flowchart TB
n0["atoms"]
n1["shared"]
n0 ---|"70"| 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
atoms (<1%)
  --> shared (3%)
70
2 file pairs
details...
flowchart TB
n0["atoms"]
n1["shared"]
n0 ---|"70"| 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 |
|---|---|---|---|
| atoms (<1%)   --> shared (3%) |
70 | 2 file pairs | details... |
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 813 | x 2 | atoms/default/serveratoms/gradual/server | 4:840 (100%)4:841 (100%) | view | |
| 99 | x 2 | shared/cssshared/css | 1:112 (94%)1:112 (94%) | view | |
| 85 | x 2 | atoms/chart/client/cssatoms/overall/client/css | 1:99 (100%)1:99 (100%) | view | |
| 85 | x 2 | atoms/chart/client/cssatoms/default/client/css | 1:99 (100%)1:99 (100%) | view | |
| 85 | x 2 | atoms/default/client/cssatoms/overall/client/css | 1:99 (100%)1:99 (100%) | view | |
| 85 | x 2 | atoms/chart/client/cssatoms/gradual/client/css | 1:99 (100%)1:99 (100%) | view | |
| 85 | x 2 | atoms/gradual/client/cssatoms/overall/client/css | 1:99 (100%)1:99 (100%) | view | |
| 85 | x 2 | atoms/default/client/cssatoms/gradual/client/css | 1:99 (100%)1:99 (100%) | view | |
| 76 | x 2 | atoms/default/client/cssatoms/preload/client/css | 13:99 (89%)19:105 (85%) | view | |
| 76 | x 2 | atoms/overall/client/cssatoms/preload/client/css | 13:99 (89%)19:105 (85%) | view | |
| 76 | x 2 | atoms/chart/client/cssatoms/preload/client/css | 13:99 (89%)19:105 (85%) | view | |
| 76 | x 2 | atoms/gradual/client/cssatoms/preload/client/css | 13:99 (89%)19:105 (85%) | view | |
| 52 | x 2 | atoms/overall/client/cssatoms/preload/client/css | 45:105 (91%)4:65 (94%) | view | |
| 38 | x 2 | atoms/chart/client/cssatoms/overall/client/css | 36:81 (46%)43:87 (66%) | view | |
| 37 | x 2 | atoms/default/client/cssatoms/gradual/client/css | 2:57 (100%)2:57 (45%) | view | |
| 36 | x 2 | atoms/overall/client/cssatoms/preload/client/css | 96:143 (19%)100:148 (13%) | view | |
| 36 | x 2 | atoms/chart/client/cssatoms/preload/client/css | 38:81 (43%)4:47 (65%) | view | |
| 26 | x 2 | atoms/overall/client/cssatoms/preload/client/css | 57:96 (13%)50:79 (9%) | view | |
| 24 | x 2 | atoms/overall/client/cssatoms/preload/client/css | 208:236 (12%)253:281 (8%) | view | |
| 24 | x 2 | atoms/default/client/cssatoms/gradual/client/css | 1:27 (100%)1:27 (100%) | view | |
| 23 | x 2 | atoms/default/serveratoms/gradual/server | 5:51 (100%)5:51 (100%) | view | |
| 23 | x 2 | atoms/chart/client/cssatoms/overall/client/css | 32:60 (15%)72:102 (12%) | view | |
| 22 | x 2 | atoms/overall/client/cssatoms/preload/client/css | 144:172 (11%)150:177 (8%) | view | |
| 21 | x 2 | atoms/overall/client/cssatoms/preload/client/css | 239:263 (11%)290:314 (7%) | view | |
| 21 | x 2 | shared/jsshared/js | 46:86 (38%)90:128 (27%) | view | |
| 19 | x 2 | atoms/chart/client/cssatoms/preload/client/css | 32:54 (12%)58:79 (6%) | view | |
| 18 | x 2 | atoms/gradual/client/jsatoms/preload/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/default/client/jsatoms/overall/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/chart/client/jsatoms/gradual/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/gradual/client/cssatoms/overall/client/css | 32:51 (21%)83:102 (9%) | view | |
| 18 | x 2 | atoms/chart/client/jsatoms/preload/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/chart/client/cssatoms/default/client/css | 41:60 (12%)32:51 (48%) | view | |
| 18 | x 2 | atoms/default/client/cssatoms/overall/client/css | 32:51 (48%)83:102 (9%) | view | |
| 18 | x 2 | atoms/chart/client/jsatoms/overall/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/chart/client/jsatoms/default/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/chart/client/cssatoms/gradual/client/css | 41:60 (12%)32:51 (21%) | view | |
| 18 | x 2 | atoms/default/client/jsatoms/preload/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/gradual/client/jsatoms/overall/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/overall/client/jsatoms/preload/client/js | 1:24 (100%)1:24 (100%) | view | |
| 18 | x 2 | atoms/default/client/jsatoms/gradual/client/js | 1:24 (100%)1:24 (100%) | view | |
| 17 | x 2 | atoms/gradual/client/cssshared/css | 87:104 (20%)62:79 (22%) | view | |
| 17 | x 2 | atoms/chart/client/cssatoms/preload/client/css | 103:124 (11%)153:174 (6%) | view | |
| 17 | x 2 | atoms/chart/client/cssatoms/overall/client/css | 103:124 (11%)148:169 (9%) | view | |
| 16 | x 2 | atoms/chart/client/cssatoms/chart/client/css | 1:19 (19%)36:55 (19%) | view | |
| 16 | x 2 | atoms/gradual/client/jsatoms/overall/client/js | 1:24 (100%)1:24 (100%) | view | |
| 16 | x 2 | atoms/default/client/jsatoms/preload/client/js | 1:24 (100%)1:24 (100%) | view | |
| 16 | x 2 | atoms/gradual/client/jsatoms/preload/client/js | 1:24 (100%)1:24 (100%) | view | |
| 16 | x 2 | atoms/default/client/jsatoms/overall/client/js | 1:24 (100%)1:24 (100%) | view | |
| 16 | x 2 | atoms/default/client/jsatoms/gradual/client/js | 1:24 (100%)1:24 (100%) | view | |
| 16 | x 2 | atoms/overall/client/jsatoms/preload/client/js | 1:24 (100%)1:24 (100%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 11 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/cssatoms/preload/client/cssatoms/default/client/css... | 21:26 (25%)67:72 (10%)27:32 (7%)35:40 (16%)69:74 (2%)44:49 (4%)86:91 (3%)35:40 (7%)27:32 (10%)21:26 (25%)... | view | |
| 6 | x 11 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/cssatoms/preload/client/cssatoms/default/client/css... | 20:25 (25%)66:71 (10%)26:31 (7%)34:39 (16%)68:73 (2%)43:48 (4%)85:90 (3%)34:39 (7%)26:31 (10%)20:25 (25%)... | view | |
| 6 | x 10 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/default/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/gradual/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/chart/client/css | 2:7 (25%)44:49 (10%)2:7 (7%)2:7 (25%)35:40 (7%)35:40 (7%)35:40 (7%)35:40 (7%)41:46 (6%)37:42 (7%) | view | |
| 6 | x 7 | atoms/chart/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/cssatoms/default/client/cssatoms/preload/client/css | 3:9 (7%)3:9 (7%)73:79 (7%)79:85 (10%)3:9 (7%)3:9 (7%)39:45 (10%) | view | |
| 6 | x 7 | atoms/chart/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/cssatoms/default/client/cssatoms/preload/client/css | 4:10 (7%)4:10 (7%)74:80 (7%)80:86 (10%)4:10 (7%)4:10 (7%)40:46 (10%) | view | |
| 6 | x 6 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/preload/client/cssatoms/default/client/cssatoms/chart/client/css | 19:24 (25%)65:70 (10%)25:30 (7%)25:30 (10%)19:24 (25%)59:64 (7%) | view | |
| 6 | x 6 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/preload/client/cssatoms/default/client/cssatoms/chart/client/css | 18:23 (25%)64:69 (10%)24:29 (7%)24:29 (10%)18:23 (25%)58:63 (7%) | view | |
| 6 | x 6 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/preload/client/cssatoms/default/client/cssatoms/chart/client/css | 16:22 (25%)62:68 (10%)22:28 (7%)22:28 (10%)16:22 (25%)56:62 (7%) | view | |
| 6 | x 6 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/preload/client/cssatoms/default/client/cssatoms/chart/client/css | 22:27 (25%)68:73 (10%)28:33 (7%)28:33 (10%)22:27 (25%)62:67 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 80:86 (7%)80:86 (7%)80:86 (7%)86:92 (6%)80:86 (7%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/preload/client/jsatoms/gradual/client/jsatoms/default/client/jsatoms/overall/client/js | 11:17 (33%)11:17 (33%)11:17 (33%)11:17 (33%)11:17 (33%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/preload/client/jsatoms/gradual/client/jsatoms/default/client/jsatoms/overall/client/js | 7:14 (33%)7:14 (33%)7:14 (33%)7:14 (33%)7:14 (33%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 68:73 (7%)68:73 (7%)68:73 (7%)74:79 (6%)68:73 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 13:20 (7%)13:20 (7%)13:20 (7%)19:26 (6%)13:20 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 49:54 (7%)49:54 (7%)49:54 (7%)55:60 (6%)49:54 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 60:66 (7%)60:66 (7%)60:66 (7%)66:72 (6%)60:66 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 61:67 (7%)61:67 (7%)61:67 (7%)67:73 (6%)61:67 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 54:60 (7%)54:60 (7%)54:60 (7%)60:66 (6%)54:60 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 23:29 (7%)23:29 (7%)23:29 (7%)29:35 (6%)23:29 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/preload/client/cssatoms/overall/client/cssatoms/preload/client/css | 112:117 (4%)157:162 (3%)162:167 (2%)213:218 (3%)258:263 (2%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 67:72 (7%)67:72 (7%)67:72 (7%)73:78 (6%)67:72 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 87:93 (7%)87:93 (7%)87:93 (7%)93:99 (6%)87:93 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 64:69 (7%)64:69 (7%)64:69 (7%)70:75 (6%)64:69 (7%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/preload/client/jsatoms/gradual/client/jsatoms/default/client/jsatoms/overall/client/js | 15:20 (33%)15:20 (33%)15:20 (33%)15:20 (33%)15:20 (33%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/gradual/client/jsatoms/overall/client/jsatoms/preload/client/jsatoms/default/client/js | 16:24 (37%)16:24 (37%)16:24 (37%)16:24 (37%)16:24 (37%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 33:38 (7%)33:38 (7%)33:38 (7%)39:44 (6%)33:38 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 36:41 (7%)36:41 (7%)36:41 (7%)42:47 (6%)36:41 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 50:55 (7%)50:55 (7%)50:55 (7%)56:61 (6%)50:55 (7%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/preload/client/jsatoms/gradual/client/jsatoms/default/client/jsatoms/overall/client/js | 17:24 (33%)17:24 (33%)17:24 (33%)17:24 (33%)17:24 (33%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 74:80 (7%)74:80 (7%)74:80 (7%)80:86 (6%)74:80 (7%) | view | |
| 6 | x 5 | atoms/default/client/cssatoms/preload/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/css | 32:37 (16%)66:71 (2%)41:46 (4%)83:88 (3%)32:37 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 59:65 (7%)59:65 (7%)59:65 (7%)65:71 (6%)59:65 (7%) | view | |
| 6 | x 5 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/preload/client/cssatoms/default/client/css | 15:21 (25%)61:67 (10%)55:61 (7%)20:27 (10%)15:21 (25%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/gradual/client/jsatoms/overall/client/jsatoms/preload/client/jsatoms/default/client/js | 2:10 (37%)2:10 (37%)2:10 (37%)2:10 (37%)2:10 (37%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 42:47 (7%)42:47 (7%)42:47 (7%)48:53 (6%)42:47 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 15:21 (7%)15:21 (7%)15:21 (7%)21:27 (6%)15:21 (7%) | view | |
| 6 | x 5 | atoms/default/client/cssatoms/preload/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/css | 33:38 (16%)67:72 (2%)42:47 (4%)84:89 (3%)33:38 (7%) | view | |
| 6 | x 5 | atoms/default/client/cssatoms/preload/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/css | 37:42 (16%)71:76 (2%)46:51 (4%)88:93 (3%)37:42 (7%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/gradual/client/jsatoms/overall/client/jsatoms/preload/client/jsatoms/default/client/js | 12:18 (37%)12:18 (37%)12:18 (37%)12:18 (37%)12:18 (37%) | view | |
| 6 | x 5 | atoms/gradual/client/cssatoms/overall/client/cssatoms/chart/client/cssatoms/default/client/cssatoms/chart/client/css | 1:6 (25%)43:48 (10%)1:6 (7%)1:6 (25%)36:41 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 25:32 (7%)25:32 (7%)25:32 (7%)31:38 (6%)25:32 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/preload/client/cssatoms/overall/client/cssatoms/preload/client/css | 113:118 (4%)158:163 (3%)163:168 (2%)214:219 (3%)259:264 (2%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 79:85 (7%)79:85 (7%)79:85 (7%)85:91 (6%)79:85 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 41:46 (7%)41:46 (7%)41:46 (7%)47:52 (6%)41:46 (7%) | view | |
| 6 | x 5 | atoms/default/client/cssatoms/preload/client/cssatoms/chart/client/cssatoms/overall/client/cssatoms/gradual/client/css | 40:45 (16%)74:79 (2%)49:54 (4%)91:96 (3%)40:45 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 38:43 (7%)38:43 (7%)38:43 (7%)44:49 (6%)38:43 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 82:87 (7%)82:87 (7%)82:87 (7%)88:93 (6%)82:87 (7%) | view | |
| 6 | x 5 | atoms/chart/client/cssatoms/overall/client/cssatoms/default/client/cssatoms/preload/client/cssatoms/gradual/client/css | 83:89 (7%)83:89 (7%)83:89 (7%)89:95 (6%)83:89 (7%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/gradual/client/jsatoms/overall/client/jsatoms/preload/client/jsatoms/default/client/js | 9:16 (37%)9:16 (37%)9:16 (37%)9:16 (37%)9:16 (37%) | view | |
| 6 | x 5 | atoms/chart/client/jsatoms/gradual/client/jsatoms/overall/client/jsatoms/preload/client/jsatoms/default/client/js | 14:23 (37%)14:23 (37%)14:23 (37%)14:23 (37%)14:23 (37%) | view |
Duplicated Units
The list of top 1 duplicated units.
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."