guardian/interactive-covid-cases-vaccines
Duplication Places in code with 6 or more lines that are exactly the same. |
Duplication Overall
- 55% duplication:
- 4,007 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 2,230 duplicated lines
- 51 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 233 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/css | 1:283 (100%)1:283 (100%) | view | |
| 233 | x 2 | atoms/print/client/cssatoms/small-multiples/client/css | 1:283 (100%)1:283 (100%) | view | |
| 233 | x 2 | atoms/print/client/cssatoms/scatterplot-cumulative/client/css | 1:283 (100%)1:283 (100%) | view | |
| 233 | x 2 | atoms/scatterplot/client/cssatoms/small-multiples/client/css | 1:283 (100%)1:283 (100%) | view | |
| 233 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/small-multiples/client/css | 1:283 (100%)1:283 (100%) | view | |
| 233 | x 2 | atoms/print/client/cssatoms/scatterplot/client/css | 1:283 (100%)1:283 (100%) | view | |
| 221 | x 2 | atoms/print/client/cssatoms/scatterplot-cumulative/client/css | 1:282 (100%)1:282 (100%) | view | |
| 112 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 7:168 (100%)7:168 (100%) | view | |
| 108 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/css | 1:135 (48%)1:135 (50%) | view | |
| 108 | x 2 | atoms/print/client/cssatoms/scatterplot/client/css | 1:135 (48%)1:135 (50%) | view | |
| 62 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/css | 181:263 (28%)181:263 (28%) | view | |
| 62 | x 2 | atoms/print/client/cssatoms/scatterplot/client/css | 181:263 (28%)181:263 (28%) | view | |
| 33 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 59:99 (10%)61:101 (10%) | view | |
| 29 | x 2 | atoms/print/client/cssatoms/small-multiples/client/css | 30:64 (13%)58:92 (20%) | view | |
| 29 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/small-multiples/client/css | 30:64 (13%)58:92 (20%) | view | |
| 29 | x 2 | atoms/scatterplot/client/cssatoms/small-multiples/client/css | 30:64 (13%)58:92 (20%) | view | |
| 28 | x 2 | atoms/print/client/jsatoms/scatterplot-cumulative/client/js | 69:99 (37%)70:100 (8%) | view | |
| 27 | x 2 | atoms/print/client/jsatoms/scatterplot/client/js | 69:98 (36%)72:101 (8%) | view | |
| 22 | x 2 | atoms/print/client/jsatoms/scatterplot-cumulative/client/js | 29:66 (29%)30:67 (6%) | view | |
| 18 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/css | 158:179 (8%)158:179 (8%) | view | |
| 18 | x 2 | atoms/print/client/cssatoms/scatterplot/client/css | 158:179 (8%)158:179 (8%) | view | |
| 17 | x 2 | atoms/small-multiples/client/jsatoms/small-multiples/client/js | 197:214 (10%)232:248 (10%) | view | |
| 16 | x 2 | atoms/small-multiples/client/jsatoms/small-multiples/client/js | 152:167 (9%)197:212 (9%) | view | |
| 16 | x 2 | atoms/small-multiples/client/jsatoms/small-multiples/client/js | 152:167 (9%)232:247 (9%) | view | |
| 16 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/css | 140:156 (7%)140:156 (7%) | view | |
| 16 | x 2 | atoms/print/client/cssatoms/scatterplot/client/css | 140:156 (7%)140:156 (7%) | view | |
| 16 | x 2 | atoms/print/client/jsatoms/scatterplot-cumulative/client/js | 5:25 (21%)6:26 (5%) | view | |
| 15 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 1:22 (100%)1:22 (100%) | view | |
| 15 | x 2 | atoms/print/client/jsatoms/scatterplot/client/js | 1:22 (100%)1:22 (100%) | view | |
| 15 | x 2 | atoms/print/client/jsatoms/scatterplot-cumulative/client/js | 1:22 (100%)1:22 (100%) | view | |
| 15 | x 2 | atoms/print/client/jsatoms/small-multiples/client/js | 1:22 (100%)1:22 (100%) | view | |
| 15 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/small-multiples/client/js | 1:22 (100%)1:22 (100%) | view | |
| 15 | x 2 | atoms/scatterplot/client/jsatoms/small-multiples/client/js | 1:22 (100%)1:22 (100%) | view | |
| 12 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 6:22 (3%)7:23 (3%) | view | |
| 12 | x 2 | atoms/print/client/jsatoms/scatterplot/client/js | 5:21 (16%)7:23 (3%) | view | |
| 11 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 39:57 (3%)41:59 (3%) | view | |
| 11 | x 2 | atoms/scatterplot-cumulative/server/templatesatoms/scatterplot/server/templates | 14:35 (21%)14:35 (22%) | view | |
| 11 | x 2 | atoms/print/client/jsatoms/scatterplot/client/js | 38:56 (14%)41:59 (3%) | view | |
| 8 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot-cumulative/client/js | 87:94 (2%)381:388 (2%) | view | |
| 8 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 381:388 (2%)89:96 (2%) | view | |
| 8 | x 2 | atoms/scatterplot-cumulative/server/templatesatoms/scatterplot/server/templates | 52:61 (15%)52:61 (16%) | view | |
| 8 | x 2 | atoms/print/client/jsatoms/scatterplot-cumulative/client/js | 86:93 (10%)381:388 (2%) | view | |
| 7 | x 2 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/css | 273:282 (3%)266:275 (3%) | view | |
| 7 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 120:127 (2%)155:162 (2%) | view | |
| 7 | x 2 | atoms/print/client/cssatoms/scatterplot/client/css | 273:282 (3%)266:275 (3%) | view | |
| 7 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 14:21 (6%)18:25 (2%) | view | |
| 7 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot-cumulative/client/js | 132:139 (2%)148:155 (6%) | view | |
| 7 | x 2 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/js | 132:139 (2%)148:155 (6%) | view | |
| 7 | x 2 | atoms/scatterplot/client/jsatoms/scatterplot/client/js | 18:25 (2%)14:21 (6%) | view | |
| 6 | x 2 | shared/css/guss-typographyshared/css/guss-typography | 188:193 (5%)200:205 (5%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 159:167 (2%)159:167 (2%)159:167 (2%)159:167 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 278:283 (2%)278:283 (2%)278:283 (2%)278:283 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 266:271 (2%)266:271 (2%)266:271 (2%)266:271 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 269:275 (2%)269:275 (2%)269:275 (2%)269:275 (2%) | view | |
| 6 | x 4 | atoms/print/client/jsatoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/jsatoms/small-multiples/client/js | 13:20 (40%)13:20 (40%)13:20 (40%)13:20 (40%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 136:142 (2%)136:142 (2%)136:142 (2%)136:142 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 160:170 (2%)160:170 (2%)160:170 (2%)160:170 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 73:79 (2%)73:79 (2%)73:79 (2%)73:79 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 30:36 (2%)30:36 (2%)30:36 (2%)58:64 (4%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 119:126 (2%)119:126 (2%)119:126 (2%)119:126 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 197:202 (2%)197:202 (2%)197:202 (2%)197:202 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 14:21 (2%)14:21 (2%)14:21 (2%)14:21 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 275:280 (2%)275:280 (2%)275:280 (2%)275:280 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 58:64 (2%)58:64 (2%)58:64 (2%)58:64 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 49:55 (2%)49:55 (2%)49:55 (2%)77:83 (4%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 130:135 (2%)130:135 (2%)130:135 (2%)130:135 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 237:242 (2%)237:242 (2%)237:242 (2%)237:242 (2%) | view | |
| 6 | x 4 | atoms/print/client/jsatoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/jsatoms/small-multiples/client/js | 10:17 (40%)10:17 (40%)10:17 (40%)10:17 (40%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 238:243 (2%)238:243 (2%)238:243 (2%)238:243 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 263:268 (2%)263:268 (2%)263:268 (2%)263:268 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 144:151 (2%)144:151 (2%)144:151 (2%)144:151 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 28:34 (2%)28:34 (2%)28:34 (2%)28:34 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 116:122 (2%)116:122 (2%)116:122 (2%)116:122 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 56:63 (2%)56:63 (2%)56:63 (2%)56:63 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 55:62 (2%)55:62 (2%)55:62 (2%)83:90 (4%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 270:276 (2%)270:276 (2%)270:276 (2%)270:276 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 199:204 (2%)199:204 (2%)199:204 (2%)199:204 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 53:59 (2%)53:59 (2%)53:59 (2%)81:87 (4%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 153:159 (2%)153:159 (2%)153:159 (2%)153:159 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 71:78 (2%)71:78 (2%)71:78 (2%)71:78 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 21:27 (2%)21:27 (2%)21:27 (2%)21:27 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 235:240 (2%)235:240 (2%)235:240 (2%)235:240 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 47:52 (2%)47:52 (2%)47:52 (2%)47:52 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/jsatoms/scatterplot/client/jsatoms/print/client/jsatoms/scatterplot-cumulative/client/js | 88:93 (1%)90:95 (1%)87:92 (8%)382:387 (1%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 23:29 (2%)23:29 (2%)23:29 (2%)23:29 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 251:257 (2%)251:257 (2%)251:257 (2%)251:257 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 267:272 (2%)267:272 (2%)267:272 (2%)267:272 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 205:211 (2%)205:211 (2%)205:211 (2%)205:211 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 149:155 (2%)149:155 (2%)149:155 (2%)149:155 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 54:61 (2%)54:61 (2%)54:61 (2%)82:89 (4%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 31:38 (2%)31:38 (2%)31:38 (2%)31:38 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 249:255 (2%)249:255 (2%)249:255 (2%)249:255 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 63:71 (2%)63:71 (2%)63:71 (2%)63:71 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 16:23 (2%)16:23 (2%)16:23 (2%)16:23 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 139:144 (2%)139:144 (2%)139:144 (2%)139:144 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 76:82 (2%)76:82 (2%)76:82 (2%)76:82 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 114:119 (2%)114:119 (2%)114:119 (2%)114:119 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 57:63 (2%)57:63 (2%)57:63 (2%)85:91 (4%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 69:75 (2%)69:75 (2%)69:75 (2%)69:75 (2%) | view | |
| 6 | x 4 | atoms/scatterplot-cumulative/client/cssatoms/scatterplot/client/cssatoms/print/client/cssatoms/small-multiples/client/css | 8:14 (2%)8:14 (2%)8:14 (2%)8:14 (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."