angular / material
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • 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...
Duplication Overall
  • 7% duplication:
    • 35,606 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,623 duplicated lines
  • 239 duplicates
system7% (2,623 lines)
Duplication per Extension
js3% (810 lines)
scss8% (731 lines)
css46% (635 lines)
html12% (447 lines)
Duplication per Component (primary)
src/components/panel16% (385 lines)
src/core/services8% (272 lines)
src/components/autocomplete11% (198 lines)
src/core/style15% (155 lines)
src/components/icon16% (120 lines)
src/components/list12% (113 lines)
src/components/toolbar21% (110 lines)
src/components/subheader43% (102 lines)
src/components/checkbox17% (90 lines)
src/components/virtualRepeat7% (79 lines)
src/components/slider6% (73 lines)
src/components/button14% (72 lines)
src/components/whiteframe19% (68 lines)
src/components/dialog7% (66 lines)
src/components/menu6% (66 lines)
gulp14% (60 lines)
src/components/radioButton9% (56 lines)
src/components/select2% (50 lines)
src/components/datepicker2% (48 lines)
src/components/card11% (48 lines)
gulp/tasks9% (46 lines)
src/components/input3% (43 lines)
config26% (43 lines)
src/components/menuBar5% (42 lines)
src/components/progressCircular10% (41 lines)
src/components/toast5% (31 lines)
src/components/progressLinear6% (29 lines)
src/components/divider33% (29 lines)
src/components/switch7% (24 lines)
src/components/colors4% (14 lines)
src/components/chips<1% (12 lines)
src/components/content13% (12 lines)
src/components/bottomSheet2% (12 lines)
src/components/fabToolbar3% (7 lines)
src/components/fabSpeedDial1% (7 lines)
scripts0% (0 lines)
ROOT0% (0 lines)
src/core/util0% (0 lines)
src/core0% (0 lines)
src/components/swipe0% (0 lines)
src/components/sticky0% (0 lines)
src/components/fabActions0% (0 lines)
src/components/truncate0% (0 lines)
src/components/tabs0% (0 lines)
src/components/sidenav0% (0 lines)
src/components/navBar0% (0 lines)
src/components/tooltip0% (0 lines)
src/components/gridList0% (0 lines)
src/components/showHide0% (0 lines)
src/components/backdrop0% (0 lines)

Duplication Between Components (50+ lines)

G src/core/services src/core/services src/core/style src/core/style src/core/services--src/core/style 190 src/components/list src/components/list src/components/subheader src/components/subheader src/components/list--src/components/subheader 95 src/components/radioButton src/components/radioButton src/components/radioButton--src/core/style 62 src/components/progressCircular src/components/progressCircular src/components/progressLinear src/components/progressLinear src/components/progressCircular--src/components/progressLinear 58

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 239 duplicates...
Size#FoldersFilesLinesCode
73 x 2 src/components/panel/demoGroups
src/components/panel/demoPanelProvider
style.global.css
style.global.css
1:77 (100%)
1:77 (100%)
view
60 x 2 src/components/subheader/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
11:79 (78%)
18:86 (78%)
view
54 x 2 src/components/subheader/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
11:72 (71%)
25:86 (71%)
view
48 x 2 src/components/subheader/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
11:65 (63%)
32:86 (63%)
view
42 x 2 src/components/icon/demoFontIconsWithClassnames
src/components/icon/demoFontIconsWithLigatures
style.css
style.css
56:106 (40%)
10:59 (72%)
view
42 x 2 src/components/subheader/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
11:58 (55%)
39:86 (55%)
view
36 x 2 src/components/subheader/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
11:51 (47%)
46:86 (47%)
view
30 x 2 src/components/subheader/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
11:44 (39%)
53:86 (39%)
view
27 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
49:79 (42%)
58:88 (35%)
view
26 x 2 src/components/autocomplete/demoCustomTemplate
src/components/autocomplete/demoRepeatMode
script.js
script.js
5:53 (38%)
5:53 (32%)
view
25 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
49:77 (39%)
37:65 (32%)
view
25 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
49:77 (39%)
30:58 (32%)
view
25 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
49:77 (39%)
51:79 (32%)
view
25 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
49:77 (39%)
44:72 (32%)
view
25 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
49:77 (39%)
23:51 (32%)
view
25 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
49:77 (39%)
16:44 (32%)
view
24 x 2 src/components/subheader/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
11:37 (31%)
60:86 (31%)
view
24 x 2 src/components/list/demoBasicUsage
src/components/subheader/demoBasicUsage
script.js
script.js
51:77 (38%)
11:37 (31%)
view
24 x 2 src/components/dialog/demoBasicUsage
src/components/dialog/demoThemeInheritance
dialog1.tmpl.html
dialog1.tmpl.html
1:37 (92%)
1:37 (92%)
view
23 x 2 src/components/divider/demoBasicUsage
src/components/divider/demoBasicUsage
script.js
script.js
5:27 (65%)
11:33 (65%)
view
Duplicated Units
The list of top 9 duplicated units.
See data for all 9 unit duplicates...
Size#FoldersFilesLinesCode
14 x 3 src/components/autocomplete/demoBasicUsage
src/components/autocomplete/demoFloatingLabel
src/components/autocomplete/demoInsideDialog
script.js
script.js
script.js
56:71 
34:49 
55:70 
view
10 x 2 src/components/autocomplete/demoRepeatMode
src/components/autocomplete/demoCustomTemplate
script.js
script.js
26:36 
26:36 
view
10 x 2 src/components/virtualRepeat/demoHorizontalUsage
src/components/virtualRepeat/demoVerticalUsage
script.js
script.js
1:13 
1:13 
view
9 x 2 src/components/list/demoListControls
src/components/list/demoListControls
script.js
script.js
56:65 
67:76 
view
8 x 2 src/components/checkbox/demoSelectAll
src/components/checkbox/demoSyncing
script.js
script.js
7:15 
9:17 
view
7 x 2 src/core/services/ripple
src/core/services/ripple
list_ripple.js
tab_ripple.js
25:32 
25:32 
view
7 x 2 src/components/menu/demoMenuWidth
src/components/menu/demoMenuDensity
script.js
script.js
9:16 
9:16 
view
6 x 2 src/components/fabSpeedDial
src/components/fabSpeedDial
fabController.js
fabController.js
256:262 
264:270 
view
12 x 2 src/core/services/ripple
src/core/services/ripple
list_ripple.js
tab_ripple.js
20:33 
20:33 
view