microsoft / WingtipTicketsSaaS-DbPerTenant
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:
    • 18,663 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,274 duplicated lines
  • 670 duplicates
system28% (5,274 lines)
Duplication per Extension
ps143% (4,225 lines)
psm117% (821 lines)
cshtml20% (159 lines)
cs2% (45 lines)
css1% (24 lines)
Duplication per Component (primary)
Learning Modules/Business Continuity and Disaster Recovery60% (3,698 lines)
Learning Modules/Common21% (739 lines)
App/src6% (355 lines)
Learning Modules/Operational Analytics16% (222 lines)
Learning Modules/Utilities10% (133 lines)
Learning Modules/Performance Monitoring and Management17% (62 lines)
Learning Modules/Provision and Catalog10% (28 lines)
Learning Modules/Devops and Support19% (20 lines)
Learning Modules/Schema Management9% (17 lines)
App/WingtipPlatformARMDeployment0% (0 lines)
Learning Modules0% (0 lines)

Duplication Between Components (50+ lines)

G Learning Modules/Performance Monitoring and Management Learning Modules/Performance Monitoring and Management Learning Modules/Utilities Learning Modules/Utilities Learning Modules/Performance Monitoring and Management--Learning Modules/Utilities 107 Learning Modules/Devops and Support Learning Modules/Devops and Support Learning Modules/Devops and Support--Learning Modules/Utilities 77 Learning Modules/Devops and Support--Learning Modules/Performance Monitoring and Management 57 Learning Modules/Business Continuity and Disaster Recovery Learning Modules/Business Continuity and Disaster Recovery Learning Modules/Provision and Catalog Learning Modules/Provision and Catalog Learning Modules/Business Continuity and Disaster Recovery--Learning Modules/Provision and Catalog 65 Learning Modules/Business Continuity and Disaster Recovery--Learning Modules/Utilities 60

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 670 duplicates...
Size#FoldersFilesLinesCode
371 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Enable-TenantsAfterRecoveryOperation.ps1
Enable-TenantsAfterRecoveryOperation.ps1
1:418 (100%)
1:418 (100%)
view
179 x 2 Learning Modules/Bu...ry/DR-FailoverToReplica
Learning Modules/Bu...ry/DR-RestoreFromBackup
Sync-TenantConfiguration.ps1
Sync-TenantConfiguration.ps1
1:215 (100%)
1:215 (100%)
view
142 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Update-TenantResourcesInOriginalRegio...
Update-TenantResourcesInOriginalRegio...
1:168 (100%)
1:168 (100%)
view
109 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Replicate-TenantDatabasesToOriginalRe...
Replicate-ChangedTenantDatabases.ps1
14:140 (47%)
14:140 (45%)
view
62 x 2 Learning Modules/Bu...ry/DR-FailoverToReplica
Learning Modules/Bu...ry/DR-RestoreFromBackup
Repatriate-IntoOriginalRegion.ps1
Repatriate-IntoOriginalRegion.ps1
45:116 (31%)
45:116 (21%)
view
57 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Failover-TenantDatabasesToOriginalReg...
Failover-ChangedDatabases.ps1
83:145 (18%)
83:145 (16%)
view
56 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Failover-TenantDatabasesToOriginalReg...
Failover-ChangedDatabases.ps1
14:81 (18%)
14:81 (16%)
view
37 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Restore-WingtipSaaSAppToRecoveryRegio...
Restore-WingtipSaaSAppToRecoveryRegio...
1:46 (64%)
1:46 (64%)
view
31 x 2 Learning Modules/Bu...ry/DR-FailoverToReplica
Learning Modules/Bu...ry/DR-RestoreFromBackup
Repatriate-IntoOriginalRegion.ps1
Repatriate-IntoOriginalRegion.ps1
1:40 (15%)
1:40 (10%)
view
29 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Failover-TenantDatabasesToRecoveryReg...
Failover-ChangedDatabases.ps1
39:74 (10%)
39:74 (8%)
view
29 x 2 Learning Modules/Bu...ry/DR-FailoverToReplica
Learning Modules/Bu...ry/DR-RestoreFromBackup
Demo-FailoverToReplica.ps1
Demo-RestoreFromBackup.ps1
96:127 (23%)
83:114 (20%)
view
29 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...rToReplica/RecoveryJobs
Failover-TenantDatabasesToOriginalReg...
Failover-TenantDatabasesToRecoveryReg...
39:74 (9%)
39:74 (10%)
view
26 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Failover-TenantDatabasesToOriginalReg...
Failover-ChangedDatabases.ps1
201:228 (8%)
225:252 (7%)
view
25 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Replicate-TenantDatabasesToOriginalRe...
Failover-ChangedDatabases.ps1
14:43 (10%)
14:43 (7%)
view
25 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...rToReplica/RecoveryJobs
Failover-TenantDatabasesToOriginalReg...
Replicate-TenantDatabasesToOriginalRe...
14:43 (8%)
14:43 (10%)
view
25 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Failover-TenantDatabasesToOriginalReg...
Replicate-ChangedTenantDatabases.ps1
14:43 (8%)
14:43 (10%)
view
25 x 2 Learning Modules/Bu...FromBackup/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Failover-ChangedDatabases.ps1
Replicate-ChangedTenantDatabases.ps1
14:43 (7%)
14:43 (10%)
view
24 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...rToReplica/RecoveryJobs
Replicate-ServersToRecoveryRegion.ps1
Replicate-TenantElasticPoolsToRecover...
14:43 (20%)
14:43 (17%)
view
21 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...FromBackup/RecoveryJobs
Failover-TenantDatabasesToRecoveryReg...
Failover-ChangedDatabases.ps1
91:113 (7%)
90:112 (6%)
view
21 x 2 Learning Modules/Bu...rToReplica/RecoveryJobs
Learning Modules/Bu...rToReplica/RecoveryJobs
Failover-TenantDatabasesToOriginalReg...
Failover-TenantDatabasesToRecoveryReg...
90:112 (6%)
91:113 (7%)
view