microsoft / vsts-extension-samples
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
  • 28% duplication:
    • 5,992 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,697 duplicated lines
  • 185 duplicates
system28% (1,697 lines)
Duplication per Extension
html48% (876 lines)
ps199% (444 lines)
js27% (217 lines)
css36% (99 lines)
ts2% (61 lines)
Duplication per Component (primary)
ui56% (378 lines)
fabrikam-build-extension100% (296 lines)
build-results-enhancer77% (251 lines)
work-item-form62% (192 lines)
widgets38% (178 lines)
data-storage19% (110 lines)
charts53% (110 lines)
dashboard-manager30% (88 lines)
build-inspector8% (34 lines)
analytics-example-widget2% (28 lines)
contributions-guide10% (16 lines)
preview-features64% (16 lines)
backlogs-panel0% (0 lines)
calendar-public-events0% (0 lines)
custom-content-renderer0% (0 lines)
release-management0% (0 lines)
ui-fabric-react0% (0 lines)

Duplication Between Components (50+ lines)

G build-results-enhancer build-results-enhancer fabrikam-build-extension fabrikam-build-extension build-results-enhancer--fabrikam-build-extension 444 charts charts widgets widgets charts--widgets 109 data-storage data-storage ui ui data-storage--ui 55

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 185 duplicates...
Size#FoldersFilesLinesCode
148 x 2 build-results-enhancer/src/Tasks/MyPlainTask1
fabrikam-build-extension/MyPlainTask1
MSBuild.ps1
MSBuild.ps1
1:171 (100%)
1:171 (100%)
view
148 x 2 fabrikam-build-extension/MyPlainTask1
fabrikam-build-extension/MyPlainTask2
MSBuild.ps1
MSBuild.ps1
1:171 (100%)
1:171 (100%)
view
148 x 2 build-results-enhancer/src/Tasks/MyPlainTask1
fabrikam-build-extension/MyPlainTask2
MSBuild.ps1
MSBuild.ps1
1:171 (100%)
1:171 (100%)
view
38 x 2 ui/menu
ui/menu
extensible.html
simple.html
35:76 (55%)
35:76 (55%)
view
33 x 2 work-item-form
work-item-form
workItemNotifications.html
workItemToolbarButton.html
23:57 (66%)
32:66 (57%)
view
23 x 2 ui/menu/scripts
ui/menu/scripts
dropDown.js
itemView.js
1:34 (28%)
1:34 (32%)
view
23 x 2 work-item-form
work-item-form
workItemGroup.html
workItemPage.html
44:71 (34%)
47:74 (33%)
view
23 x 2 widgets
widgets
hello-world2.html
hello-world3.html
19:45 (47%)
29:55 (38%)
view
22 x 2 build-inspector/static/css
build-results-enhancer/css
main.css
main.css
1:26 (100%)
1:26 (100%)
view
19 x 2 data-storage
data-storage
notes.html
settings.html
1:21 (70%)
1:21 (38%)
view
17 x 2 build-inspector/static/css
data-storage/css
main.css
main.css
1:20 (77%)
1:20 (62%)
view
17 x 2 build-results-enhancer/css
ui/menu/css
main.css
main.css
1:20 (77%)
1:20 (50%)
view
17 x 2 build-results-enhancer/css
data-storage/css
main.css
main.css
1:20 (77%)
1:20 (62%)
view
17 x 2 ui/menu
ui/menu
extensible.html
simple.html
4:22 (25%)
4:22 (25%)
view
17 x 2 build-inspector/static/css
ui/menu/css
main.css
main.css
1:20 (77%)
1:20 (50%)
view
17 x 2 data-storage/css
ui/menu/css
main.css
main.css
1:20 (62%)
1:20 (50%)
view
16 x 2 ui/menu
ui/menu
control.html
simple.html
4:21 (51%)
4:21 (23%)
view
16 x 2 build-results-enhancer
build-results-enhancer
builtInTaskContribution.html
taskContribution.html
1:21 (88%)
1:21 (88%)
view
16 x 2 ui/menu/scripts
ui/menu/scripts
context.js
itemView.js
85:100 (18%)
64:79 (22%)
view
16 x 2 contributions-guide
preview-features
context.html
hub.html
4:27 (27%)
4:26 (64%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
8 x 2 ui/menu/scripts
ui/menu/scripts
context.js
itemView.js
61:69 
41:49 
view
7 x 2 analytics-example-widget/scripts/data
analytics-example-widget/scripts/data
CommonQueries.ts
CommonQueries.ts
14:22 
61:68 
view
10 x 2 analytics-example-widget/scripts/data
analytics-example-widget/scripts/data
ODataClient.ts
ODataClient.ts
41:51 
53:63 
view