microsoft / FastTrack
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
  • 15% duplication:
    • 5,347 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 844 duplicated lines
  • 88 duplicates
system15% (844 lines)
Duplication per Extension
ps115% (689 lines)
psm124% (155 lines)
Duplication per Component (primary)
tools/SimpleGraph24% (125 lines)
scripts/Find-MailboxDelegates9% (86 lines)
scripts/Get-AADAdminRoleMembers46% (76 lines)
scripts/Get-LicensingInfo47% (71 lines)
scripts/Update-TeamsLicense48% (71 lines)
scripts/AddRemove-OneDriveSecondaryAdmin30% (56 lines)
scripts/Disable-TeamsAudioVideo34% (48 lines)
scripts/Get-ODBUsage42% (48 lines)
scripts/Get-TeamVisibilityAndOwnerReport31% (38 lines)
scripts/Get-MigrationToTeamsDNSCheck12% (36 lines)
scripts/Get-YammerPrivateContentModeAdmins38% (32 lines)
scripts/Get-FullOwnerReport33% (31 lines)
scripts/Disable-TeamifyPrompt24% (28 lines)
scripts/move-team6% (26 lines)
scripts/Get-LicenseUsage14% (23 lines)
scripts/Get-OD4BExternalUsers15% (19 lines)
scripts/Get-DocLibInventory29% (15 lines)
scripts/get-siteinventory4% (15 lines)
ROOT0% (0 lines)
scripts/Get-AuditGuestTeams0% (0 lines)
scripts/Get-FullTeamsReport0% (0 lines)
scripts/Get-ListUsage0% (0 lines)
scripts/Get-TeamsChannelUsersReport0% (0 lines)
scripts/Set-ForwardingSMTPAddress0% (0 lines)
scripts/get-teamsusage0% (0 lines)
scripts/split-spmtlogerrors0% (0 lines)
tools/gsuite-scanner0% (0 lines)

Duplication Between Components (50+ lines)

G scripts/Get-AADAdminRoleMembers scripts/Get-AADAdminRoleMembers scripts/Get-LicensingInfo scripts/Get-LicensingInfo scripts/Get-AADAdminRoleMembers--scripts/Get-LicensingInfo 145 scripts/Get-TeamVisibilityAndOwnerReport scripts/Get-TeamVisibilityAndOwnerReport scripts/Get-AADAdminRoleMembers--scripts/Get-TeamVisibilityAndOwnerReport 74 scripts/Get-LicensingInfo--scripts/Get-TeamVisibilityAndOwnerReport 62 scripts/Disable-TeamsAudioVideo scripts/Disable-TeamsAudioVideo scripts/Get-ODBUsage scripts/Get-ODBUsage scripts/Disable-TeamsAudioVideo--scripts/Get-ODBUsage 96 scripts/Disable-TeamifyPrompt scripts/Disable-TeamifyPrompt scripts/Update-TeamsLicense scripts/Update-TeamsLicense scripts/Disable-TeamifyPrompt--scripts/Update-TeamsLicense 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 88 duplicates...
Size#FoldersFilesLinesCode
47 x 2 scripts/Get-AADAdminRoleMembers
scripts/Get-LicensingInfo
Get-AADAdminRoleMembers.ps1
Get-LicensingInfo.ps1
77:125 (28%)
62:110 (31%)
view
26 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
339:368 (5%)
402:430 (5%)
view
20 x 2 scripts/Disable-TeamsAudioVideo
scripts/Get-ODBUsage
Disable-TeamsAudioVideo.ps1
Get-ODBUsage.ps1
71:113 (14%)
75:117 (17%)
view
19 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
403:423 (3%)
458:478 (3%)
view
19 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
340:360 (3%)
458:478 (3%)
view
18 x 2 scripts/Get-AADAdminRoleMembers
scripts/Get-LicensingInfo
Get-AADAdminRoleMembers.ps1
Get-LicensingInfo.ps1
7:28 (10%)
5:26 (12%)
view
17 x 2 scripts/Find-MailboxDelegates
scripts/Find-MailboxDelegates
Find-MailboxDelegates.ps1
Find-MailboxDelegates.ps1
942:961 (1%)
968:987 (1%)
view
17 x 2 scripts/Get-LicenseUsage
scripts/Get-LicensingInfo
Get-LicenseUsage.ps1
Get-LicensingInfo.ps1
15:34 (10%)
5:24 (11%)
view
17 x 2 scripts/Get-AADAdminRoleMembers
scripts/Get-LicenseUsage
Get-AADAdminRoleMembers.ps1
Get-LicenseUsage.ps1
7:26 (10%)
15:34 (10%)
view
16 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
90:107 (3%)
404:421 (3%)
view
16 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
90:107 (3%)
459:476 (3%)
view
16 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
90:107 (3%)
341:358 (3%)
view
15 x 2 scripts/Disable-TeamifyPrompt
scripts/Update-TeamsLicense
Disable-TeamifyPrompt.ps1
Update-TeamsLicense.ps1
47:61 (13%)
55:69 (10%)
view
15 x 2 scripts/Get-DocLibInventory/Lib
scripts/get-siteinventory/Lib
Lib.psm1
Lib.psm1
1:18 (100%)
78:95 (13%)
view
14 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
284:298 (2%)
402:416 (2%)
view
14 x 2 scripts/Get-AADAdminRoleMembers
scripts/Get-TeamVisibilityAndOwnerReport
Get-AADAdminRoleMembers.ps1
Get-TeamVisibilityAndOwnerReport.ps1
7:22 (8%)
6:21 (11%)
view
14 x 2 tools/SimpleGraph
tools/SimpleGraph
SimpleGraph.psm1
SimpleGraph.psm1
284:298 (2%)
339:353 (2%)
view
14 x 2 scripts/Get-AADAdminRoleMembers
scripts/Get-YammerPrivateContentModeAdmins
Get-AADAdminRoleMembers.ps1
Get-YammerPrivateContentModeAdmins.ps1
7:22 (8%)
5:20 (16%)
view
14 x 2 scripts/Get-LicensingInfo
scripts/Get-YammerPrivateContentModeAdmins
Get-LicensingInfo.ps1
Get-YammerPrivateContentModeAdmins.ps1
5:20 (9%)
5:20 (16%)
view
14 x 2 scripts/Get-LicenseUsage
scripts/Get-YammerPrivateContentModeAdmins
Get-LicenseUsage.ps1
Get-YammerPrivateContentModeAdmins.ps1
15:30 (8%)
5:20 (16%)
view