guardian/mobile-apps-article-templates
Duplication Places in code with 6 or more lines that are exactly the same. |
Duplication Overall
- 12% duplication:
- 17,193 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 2,071 duplicated lines
- 253 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 47 | x 2 | ArticleTemplates/assets/scss/themes/darkModeArticleTemplates/assets/scss/themes/darkMode | 69:126 (30%)132:189 (30%) | view | |
| 42 | x 2 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 113:157 (9%)398:442 (9%) | view | |
| 27 | x 2 | ArticleTemplates/assets/scss/baseArticleTemplates/assets/scss/base | 136:162 (18%)165:191 (18%) | view | |
| 23 | x 2 | ArticleTemplatesArticleTemplates | 30:63 (45%)28:61 (45%) | view | |
| 23 | x 2 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 44:69 (5%)25:51 (5%) | view | |
| 20 | x 2 | ArticleTemplates/assets/scss/layoutArticleTemplates/assets/scss/layout | 35:56 (28%)61:82 (28%) | view | |
| 20 | x 2 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 259:283 (4%)300:324 (4%) | view | |
| 18 | x 2 | ArticleTemplatesArticleTemplates | 1:21 (33%)1:21 (43%) | view | |
| 17 | x 2 | ArticleTemplatesArticleTemplates | 96:112 (20%)56:72 (28%) | view | |
| 16 | x 2 | ArticleTemplates/assets/scss/pillarArticleTemplates/assets/scss/pillar | 2:18 (24%)58:74 (24%) | view | |
| 16 | x 2 | ArticleTemplatesArticleTemplates | 54:69 (29%)30:45 (39%) | view | |
| 15 | x 2 | ArticleTemplatesArticleTemplates | 120:134 (15%)82:96 (21%) | view | |
| 15 | x 2 | ArticleTemplatesArticleTemplates | 120:134 (15%)85:99 (20%) | view | |
| 15 | x 2 | ArticleTemplatesArticleTemplates | 3:27 (29%)3:26 (29%) | view | |
| 15 | x 2 | ArticleTemplatesArticleTemplates | 85:99 (20%)82:96 (21%) | view | |
| 15 | x 2 | ArticleTemplatesArticleTemplates | 30:51 (28%)27:48 (29%) | view | |
| 14 | x 2 | ArticleTemplatesArticleTemplates | 5:19 (16%)5:19 (23%) | view | |
| 14 | x 2 | ArticleTemplatesArticleTemplates | 81:94 (16%)41:54 (23%) | view | |
| 14 | x 2 | ArticleTemplatesArticleTemplates | 30:50 (27%)31:51 (26%) | view | |
| 14 | x 2 | ArticleTemplatesArticleTemplates | 5:19 (16%)5:19 (15%) | view | |
| 14 | x 2 | ArticleTemplatesArticleTemplates | 5:19 (23%)5:19 (15%) | view | |
| 13 | x 2 | ArticleTemplates/assets/scss/themes/darkModeArticleTemplates/assets/scss/themes/darkMode | 19:31 (25%)39:51 (25%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 31:48 (25%)29:46 (28%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 34:51 (25%)29:46 (28%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 66:83 (18%)64:80 (18%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 33:50 (25%)29:46 (28%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 85:97 (18%)97:109 (14%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 120:132 (13%)97:109 (14%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 97:109 (14%)82:94 (18%) | view | |
| 13 | x 2 | ArticleTemplatesArticleTemplates | 1:16 (61%)1:16 (81%) | view | |
| 12 | x 2 | ArticleTemplatesArticleTemplates | 19:33 (12%)18:33 (17%) | view | |
| 12 | x 2 | ArticleTemplatesArticleTemplates | 56:67 (20%)33:44 (31%) | view | |
| 12 | x 2 | ArticleTemplatesArticleTemplates | 96:107 (14%)33:44 (31%) | view | |
| 11 | x 2 | ArticleTemplates/assets/scss/modules/footballArticleTemplates/assets/scss/modules/football | 103:116 (7%)193:206 (7%) | view | |
| 11 | x 2 | ArticleTemplates/assets/scss/modules/footballArticleTemplates/assets/scss/modules/football | 121:134 (7%)168:181 (7%) | view | |
| 11 | x 2 | ArticleTemplates/assets/scss/typeArticleTemplates/assets/scss/type | 630:641 (1%)644:655 (1%) | view | |
| 11 | x 2 | ArticleTemplatesArticleTemplates | 42:52 (20%)97:107 (11%) | view | |
| 11 | x 2 | ArticleTemplatesArticleTemplates | 32:47 (20%)9:24 (44%) | view | |
| 11 | x 2 | ArticleTemplatesArticleTemplates | 42:52 (20%)82:92 (15%) | view | |
| 11 | x 2 | ArticleTemplatesArticleTemplates | 42:52 (20%)120:130 (11%) | view | |
| 11 | x 2 | ArticleTemplates/assets/scss/themes/darkModeArticleTemplates/assets/scss/themes/darkMode | 35:47 (16%)24:36 (19%) | view | |
| 11 | x 2 | ArticleTemplatesArticleTemplates | 42:52 (20%)85:95 (15%) | view | |
| 10 | x 2 | ArticleTemplates/assets/scss/baseArticleTemplates/assets/scss/base | 103:112 (6%)115:124 (6%) | view | |
| 10 | x 2 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 31:40 (20%)43:52 (20%) | view | |
| 10 | x 2 | ArticleTemplates/assets/scss/typeArticleTemplates/assets/scss/type | 42:51 (19%)6:15 (35%) | view | |
| 10 | x 2 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules/blocks | 72:83 (13%)420:431 (3%) | view | |
| 10 | x 2 | ArticleTemplatesArticleTemplates | 5:14 (18%)5:14 (10%) | view | |
| 10 | x 2 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 192:202 (2%)469:479 (2%) | view | |
| 10 | x 2 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 229:238 (2%)501:510 (2%) | view | |
| 10 | x 2 | ArticleTemplatesArticleTemplates | 5:14 (18%)5:14 (16%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 8 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 122:127 (6%)35:40 (15%)44:49 (10%)58:63 (10%)87:92 (8%)99:104 (6%)84:89 (8%)98:103 (7%) | view | |
| 6 | x 8 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 120:125 (6%)33:38 (15%)42:47 (10%)56:61 (10%)85:90 (8%)97:102 (6%)82:87 (8%)96:101 (7%) | view | |
| 6 | x 8 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 123:128 (6%)36:41 (15%)45:50 (10%)59:64 (10%)88:93 (8%)100:105 (6%)85:90 (8%)99:104 (7%) | view | |
| 6 | x 8 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 121:126 (6%)34:39 (15%)43:48 (10%)57:62 (10%)86:91 (8%)98:103 (6%)83:88 (8%)97:102 (7%) | view | |
| 6 | x 7 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 8:14 (17%)9:15 (15%)13:19 (10%)10:16 (14%)13:19 (6%)13:19 (7%)10:16 (11%) | view | |
| 6 | x 6 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 99:104 (1%)383:388 (1%)119:124 (1%)174:179 (1%)404:409 (1%)450:455 (1%) | view | |
| 6 | x 6 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules | 98:103 (1%)382:387 (1%)118:123 (1%)173:178 (1%)403:408 (1%)449:454 (1%) | view | |
| 6 | x 6 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/themes/darkModeArticleTemplates/assets/scss/layoutArticleTemplates/assets/scss/typeArticleTemplates/assets/scss/themes/darkModeArticleTemplates/assets/scss/layout | 287:292 (1%)35:40 (17%)345:350 (1%)20:25 (27%)187:192 (3%)468:473 (1%) | view | |
| 6 | x 6 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 7:14 (46%)7:14 (28%)8:15 (2%)7:14 (6%)7:14 (37%)7:14 (28%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 34:40 (11%)62:68 (6%)35:41 (11%)32:38 (11%)30:36 (13%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 89:94 (8%)101:106 (6%)124:129 (6%)86:91 (8%)46:51 (10%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 90:95 (8%)102:107 (6%)125:130 (6%)87:92 (8%)47:52 (10%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 3:9 (11%)18:24 (8%)3:9 (11%)19:25 (6%)3:9 (11%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 36:42 (11%)64:70 (6%)37:43 (11%)34:40 (11%)32:38 (13%) | view | |
| 6 | x 5 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules/blocksArticleTemplates/assets/scss/modules/blocksArticleTemplates/assets/scss/modules | 61:67 (8%)76:82 (8%)389:395 (2%)424:430 (2%)94:100 (8%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 37:44 (11%)65:72 (6%)38:45 (11%)35:42 (11%)33:40 (13%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 6:13 (46%)6:13 (28%)6:13 (6%)6:13 (37%)6:13 (28%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 5:12 (46%)5:12 (28%)5:12 (6%)5:12 (37%)5:12 (28%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 15:20 (11%)28:33 (8%)17:22 (11%)28:33 (6%)16:21 (11%) | view | |
| 6 | x 5 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 35:41 (11%)63:69 (6%)36:42 (11%)33:39 (11%)31:37 (13%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 8:13 (10%)8:13 (10%)8:13 (7%)8:13 (6%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 6:11 (10%)6:11 (10%)6:11 (7%)6:11 (6%) | view | |
| 6 | x 4 | ArticleTemplates/assets/scss/modules/cricketArticleTemplates/assets/scss/modules/cricketArticleTemplates/assets/scss/modules/cricketArticleTemplates/assets/scss/modules/cricket | 155:160 (1%)294:299 (1%)323:328 (1%)545:550 (1%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 39:45 (11%)40:46 (11%)37:43 (11%)35:41 (13%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 92:97 (8%)104:109 (6%)127:132 (6%)89:94 (8%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 31:36 (10%)45:50 (10%)85:90 (7%)84:90 (6%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 33:39 (11%)34:40 (11%)31:37 (11%)29:35 (13%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 40:46 (11%)41:47 (11%)38:44 (11%)36:42 (13%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 54:60 (11%)5:11 (27%)50:56 (6%)52:58 (11%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 9:14 (10%)9:14 (10%)9:14 (7%)9:14 (6%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 29:34 (10%)43:48 (10%)83:88 (7%)82:88 (6%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 41:50 (11%)42:51 (11%)39:48 (11%)37:46 (13%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 5:10 (10%)5:10 (10%)5:10 (7%)5:10 (6%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 30:35 (10%)44:49 (10%)84:89 (7%)83:89 (6%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 7:12 (10%)7:12 (10%)7:12 (7%)7:12 (6%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 55:61 (11%)6:12 (27%)51:57 (6%)53:59 (11%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 74:85 (11%)101:110 (6%)75:86 (11%)65:76 (13%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 66:76 (8%)74:81 (6%)104:111 (6%)64:73 (8%) | view | |
| 6 | x 4 | ArticleTemplatesArticleTemplatesArticleTemplatesArticleTemplates | 91:96 (8%)103:108 (6%)126:131 (6%)88:93 (8%) | view | |
| 6 | x 3 | ArticleTemplatesArticleTemplatesArticleTemplates | 5:10 (6%)5:10 (8%)5:10 (8%) | view | |
| 6 | x 3 | ArticleTemplatesArticleTemplatesArticleTemplates | 128:133 (6%)93:98 (8%)90:95 (8%) | view | |
| 6 | x 3 | ArticleTemplatesArticleTemplatesArticleTemplates | 61:70 (7%)70:76 (6%)24:33 (27%) | view | |
| 6 | x 3 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/themes/darkModeArticleTemplates/assets/scss/themes/darkMode | 453:460 (1%)91:98 (3%)154:161 (3%) | view | |
| 6 | x 3 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules/blocks | 62:68 (8%)77:83 (8%)425:431 (2%) | view | |
| 6 | x 3 | ArticleTemplatesArticleTemplatesArticleTemplates | 105:112 (6%)67:77 (8%)65:74 (8%) | view | |
| 6 | x 3 | ArticleTemplates/assets/scss/modulesArticleTemplates/assets/scss/modules/blocksArticleTemplates/assets/scss/modules | 74:81 (8%)422:429 (2%)92:99 (8%) | view | |
| 6 | x 3 | ArticleTemplates/assets/scss/themes/darkModeArticleTemplates/assets/scss/tonesArticleTemplates/assets/scss/pillar | 26:32 (17%)25:30 (8%)34:39 (9%) | view | |
| 6 | x 3 | ArticleTemplatesArticleTemplatesArticleTemplates | 10:16 (7%)10:16 (10%)10:16 (6%) | view | |
| 6 | x 3 | ArticleTemplatesArticleTemplatesArticleTemplates | 109:114 (6%)74:79 (8%)70:76 (8%) | view | |
| 6 | x 3 | ArticleTemplatesArticleTemplatesArticleTemplates | 28:33 (10%)42:47 (10%)82:87 (7%) | view |
Duplicated Units
The list of top 1 duplicated units.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 7 | x 2 | ArticleTemplates/assets/js/modulesArticleTemplates/assets/js/modules | 142:152 16:26 | 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."