microsoft / featuretimeline
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
  • 12% duplication:
    • 12,716 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,555 duplicated lines
  • 89 duplicates
system12% (1,555 lines)
Duplication per Extension
tsx12% (574 lines)
ts5% (382 lines)
scss30% (372 lines)
html79% (201 lines)
js35% (26 lines)
Duplication per Component (primary)
src/EpicRoadmap/react50% (374 lines)
src/FeatureTimeline/react54% (339 lines)
src/PortfolioPlanning/Common9% (228 lines)
src/Common/react9% (133 lines)
src/PortfolioPlanning22% (97 lines)
src/PortfolioPlanning/Components2% (67 lines)
src/EpicRoadmap84% (59 lines)
src/FeatureTimeline75% (57 lines)
src/EpicRoadmap/redux3% (35 lines)
src/PortfolioPlanning/Redux3% (34 lines)
src/Services87% (28 lines)
scripts35% (26 lines)
src54% (24 lines)
src/FeatureTimeline/redux1% (22 lines)
src/Common/redux2% (20 lines)
src/PortfolioPlanning/Models6% (12 lines)

Duplication Between Components (50+ lines)

G src/EpicRoadmap/react src/EpicRoadmap/react src/FeatureTimeline/react src/FeatureTimeline/react src/EpicRoadmap/react--src/FeatureTimeline/react 673 src/EpicRoadmap src/EpicRoadmap src/PortfolioPlanning src/PortfolioPlanning src/EpicRoadmap--src/PortfolioPlanning 118 src/FeatureTimeline src/FeatureTimeline src/EpicRoadmap--src/FeatureTimeline 114 src/FeatureTimeline--src/PortfolioPlanning 114 src/Common/react src/Common/react src/Common/react--src/EpicRoadmap/react 92 src/PortfolioPlanning/Common src/PortfolioPlanning/Common src/Services src/Services src/PortfolioPlanning/Common--src/Services 56

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 89 duplicates...
Size#FoldersFilesLinesCode
113 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.scss
FeatureTimelineGrid.scss
1:136 (100%)
1:136 (97%)
view
44 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.tsx
FeatureTimelineGrid.tsx
179:235 (12%)
312:368 (9%)
view
28 x 2 src/PortfolioPlanning/Common/Services
src/Services
WorkItemMetadataService.ts
WorkItemMetadataService.ts
5:48 (90%)
5:49 (87%)
view
25 x 2 src/EpicRoadmap
src/PortfolioPlanning
EpicRoadmap.html
PortfolioPlanning.html
33:62 (38%)
33:62 (38%)
view
25 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.tsx
FeatureTimelineGrid.tsx
346:375 (7%)
541:570 (5%)
view
25 x 2 src/Common/react/Components/TimelineDialog
src/EpicRoadmap/react/Co...s/RoadmapTimelineDialog
TimelineDialog.scss
RoadmapTimelineDialog.scss
10:41 (75%)
19:49 (60%)
view
22 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.tsx
FeatureTimelineGrid.tsx
83:107 (6%)
226:250 (4%)
view
19 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.tsx
FeatureTimelineGrid.tsx
277:296 (5%)
411:430 (4%)
view
18 x 2 src/EpicRoadmap
src/FeatureTimeline
EpicRoadmap.html
featuretimeline.html
33:52 (27%)
34:53 (25%)
view
18 x 2 src/FeatureTimeline
src/PortfolioPlanning
featuretimeline.html
PortfolioPlanning.html
34:53 (25%)
33:52 (27%)
view
18 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.tsx
FeatureTimelineGrid.tsx
393:411 (5%)
91:109 (3%)
view
16 x 2 src/EpicRoadmap
src/PortfolioPlanning
EpicRoadmap.html
PortfolioPlanning.html
1:20 (24%)
1:20 (24%)
view
13 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.tsx
FeatureTimelineGrid.tsx
237:251 (3%)
370:384 (2%)
view
13 x 2 src/PortfolioPlanning
src/PortfolioPlanning
AddToPlanAction.html
SelectPlanDialog.html
1:16 (50%)
1:16 (48%)
view
13 x 2 src/EpicRoadmap/react/Components
src/FeatureTimeline/react/Components
EpicRoadmapGrid.tsx
FeatureTimelineGrid.tsx
426:438 (3%)
124:136 (2%)
view
12 x 2 src
src
polyfill.ts
polyfill.ts
6:35 (27%)
53:82 (27%)
view
12 x 2 src/EpicRoadmap
src/PortfolioPlanning
EpicRoadmap.html
PortfolioPlanning.html
64:77 (18%)
64:77 (18%)
view
11 x 2 src/EpicRoadmap/react/Co...s/RoadmapTimelineDialog
src/FeatureTimeline/react/Components
RoadmapTimelineDialog.tsx
FeatureTimelineDialog.tsx
17:28 (36%)
18:28 (26%)
view
11 x 2 src/PortfolioPlanning/Common/Services
src/PortfolioPlanning/Common/Services
PortfolioPlanningDataService.ts
PortfolioPlanningDataService.ts
672:685 (<1%)
727:740 (<1%)
view
11 x 2 src/Common/react/Components/ProgressDetails
src/PortfolioPlanning/Common/Components
ProgressDetails.scss
ProgressDetails.scss
10:23 (45%)
10:23 (45%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
15 x 2 src/PortfolioPlanning/Common/Services
src/Services
WorkItemMetadataService.ts
WorkItemMetadataService.ts
29:45 
30:46 
view
7 x 2 src/PortfolioPlanning/Common/Services
src/Services
WorkItemMetadataService.ts
WorkItemMetadataService.ts
16:25 
17:26 
view
6 x 2 scripts
scripts
packageDev.js
packageDevHttp.js
9:15 
9:15 
view
6 x 2 src/Common/react/Components
src/FeatureTimeline/react/Components
WorkItemList.tsx
FeatureTimelineGrid.tsx
93:100 
86:93 
view