angular / material.angular.io
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
  • 2% duplication:
    • 6,397 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 183 duplicated lines
  • 97 duplicates
system2% (183 lines)
Duplication per Extension
scss6% (147 lines)
ts1% (36 lines)
Duplication per Component (primary)
src/app3% (114 lines)
src/styles6% (25 lines)
src/highlightjs11% (20 lines)
scenes/src<1% (9 lines)
src/assets7% (9 lines)
src3% (6 lines)
tools0% (0 lines)
tools/npm0% (0 lines)
ROOT0% (0 lines)
src/environments0% (0 lines)

Duplication Between Components (50+ lines)

G src/app src/app src/styles src/styles src/app--src/styles 109 src src src--src/app 66

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 97 duplicates...
Size#FoldersFilesLinesCode
10 x 2 src/highlightjs
src/highlightjs
material-dark.scss
material-light.scss
106:118 (10%)
78:90 (13%)
view
9 x 2 src/app/pages/component-category-list
src/app/shared/cookie-popup
_component-category-list-theme.scss
_cookie-popup-theme.scss
1:10 (29%)
1:10 (47%)
view
9 x 2 src/app/shared/cookie-popup
src/styles
_cookie-popup-theme.scss
_markdown-theme.scss
1:10 (47%)
1:11 (30%)
view
9 x 2 src/app/shared/cookie-popup
src/app/shared/table-of-contents
_cookie-popup-theme.scss
_table-of-contents-theme.scss
1:10 (47%)
1:10 (45%)
view
9 x 2 src/app/pages/component-category-list
src/styles
_component-category-list-theme.scss
_markdown-theme.scss
1:10 (29%)
1:11 (30%)
view
9 x 2 src/app/pages/guide-list
src/styles
_guide-list-theme.scss
_markdown-theme.scss
1:10 (36%)
1:11 (30%)
view
9 x 2 src/styles
src/styles
_api-theme.scss
_markdown-theme.scss
1:11 (24%)
1:11 (30%)
view
9 x 2 src/app/shared/table-of-contents
src/styles
_table-of-contents-theme.scss
_markdown-theme.scss
1:10 (45%)
1:11 (30%)
view
9 x 2 src/app/pages/component-category-list
src/styles
_component-category-list-theme.scss
_api-theme.scss
1:10 (29%)
1:11 (24%)
view
9 x 2 src/app/pages/guide-list
src/app/shared/cookie-popup
_guide-list-theme.scss
_cookie-popup-theme.scss
1:10 (36%)
1:10 (47%)
view
9 x 2 src/app/pages/component-category-list
src/app/pages/guide-list
_component-category-list-theme.scss
_guide-list-theme.scss
1:10 (29%)
1:10 (36%)
view
9 x 2 src/app/pages/guide-list
src/styles
_guide-list-theme.scss
_api-theme.scss
1:10 (36%)
1:11 (24%)
view
9 x 2 scenes/src
src/assets/stack-blitz/src
test.ts
test.ts
6:15 (75%)
6:15 (60%)
view
9 x 2 src/app/pages/component-category-list
src/app/shared/table-of-contents
_component-category-list-theme.scss
_table-of-contents-theme.scss
1:10 (29%)
1:10 (45%)
view
9 x 2 src/app/shared/cookie-popup
src/styles
_cookie-popup-theme.scss
_api-theme.scss
1:10 (47%)
1:11 (24%)
view
9 x 2 src/app/pages/guide-list
src/app/shared/table-of-contents
_guide-list-theme.scss
_table-of-contents-theme.scss
1:10 (36%)
1:10 (45%)
view
9 x 2 src/app/shared/table-of-contents
src/styles
_table-of-contents-theme.scss
_api-theme.scss
1:10 (45%)
1:11 (24%)
view
8 x 2 src/app/pages/component-viewer
src/app/pages/homepage
_component-viewer-theme.scss
_homepage-theme.scss
1:9 (42%)
1:9 (16%)
view
8 x 2 src/app/pages/guide-list
src/app/shared/carousel
_guide-list-theme.scss
_carousel-theme.scss
1:9 (32%)
1:9 (61%)
view
8 x 2 src/app/shared/carousel
src/styles
_carousel-theme.scss
_api-theme.scss
1:9 (61%)
1:10 (21%)
view