microsoft / data-accelerator
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
  • 16% duplication:
    • 38,373 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 6,299 duplicated lines
  • 1,697 duplicates
system16% (6,299 lines)
Duplication per Extension
jsx30% (3,306 lines)
cs9% (1,296 lines)
ps143% (922 lines)
js5% (311 lines)
yaml41% (192 lines)
scala3% (138 lines)
sfproj60% (90 lines)
psm13% (30 lines)
css5% (14 lines)
Duplication per Component (primary)
Website/Packages23% (3,577 lines)
Services/DataX.Flow17% (887 lines)
Services/DataX.Metrics51% (327 lines)
Services/DataX.SimulatedData37% (292 lines)
Services/DataX.Gateway38% (237 lines)
Services/DataX.Config4% (200 lines)
DeploymentCloud/Deployment.Kubernetes41% (192 lines)
DataProcessing/datax-host2% (102 lines)
DeploymentCloud/Deployment.DataX22% (92 lines)
Services/DataX.Utilities7% (89 lines)
Services/JobRunner16% (78 lines)
Services/DataX.ServiceHost18% (67 lines)
Website/Website3% (54 lines)
DeploymentCloud/Deployment.Common3% (48 lines)
DataProcessing/datax-utility7% (36 lines)
DeploymentCloud/Deployment.JobRunner4% (15 lines)
Services/AspnetCore7% (6 lines)
DataProcessing/datax-core0% (0 lines)
DataProcessing/datax-keyvault0% (0 lines)
DataProcessing/datax-udf-samples0% (0 lines)
DataProcessing0% (0 lines)
Services/DataX.Contract0% (0 lines)
Services/JobRunnerWebJob0% (0 lines)

Duplication Between Components (50+ lines)

G Services/DataX.Flow Services/DataX.Flow Services/DataX.Metrics Services/DataX.Metrics Services/DataX.Flow--Services/DataX.Metrics 943 Services/DataX.SimulatedData Services/DataX.SimulatedData Services/DataX.Flow--Services/DataX.SimulatedData 663 Services/DataX.Gateway Services/DataX.Gateway Services/DataX.Flow--Services/DataX.Gateway 474 Services/DataX.ServiceHost Services/DataX.ServiceHost Services/DataX.Flow--Services/DataX.ServiceHost 305 Services/DataX.Metrics--Services/DataX.SimulatedData 528 Services/DataX.Metrics--Services/DataX.ServiceHost 122 Services/DataX.Gateway--Services/DataX.SimulatedData 418 Services/DataX.Gateway--Services/DataX.Metrics 418 Website/Packages Website/Packages Website/Website Website/Website Website/Packages--Website/Website 228 DeploymentCloud/Deployment.Common DeploymentCloud/Deployment.Common DeploymentCloud/Deployment.DataX DeploymentCloud/Deployment.DataX DeploymentCloud/Deployment.Common--DeploymentCloud/Deployment.DataX 77

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 1,697 duplicates...
Size#FoldersFilesLinesCode
199 x 2 Services/DataX.Flow/DataX.Flow/Scripts
Services/DataX.Simulated...X.SimulatedData/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
1:258 (100%)
1:258 (100%)
view
199 x 2 Services/DataX.Flow/DataX.Flow/Scripts
Services/DataX.Gateway/DataX.Gateway/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
1:258 (100%)
1:258 (100%)
view
199 x 2 Services/DataX.Gateway/DataX.Gateway/Scripts
Services/DataX.Simulated...X.SimulatedData/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
1:258 (100%)
1:258 (100%)
view
97 x 2 Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Metrics/DataX.Metrics.Ingestor
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
18:191 (97%)
view
97 x 2 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Metrics/DataX.Metrics.Ingestor
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
18:191 (97%)
view
97 x 2 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.SchemaInferenceService
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
13:186 (97%)
view
97 x 2 Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.SchemaInferenceService
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
13:186 (97%)
view
97 x 2 Services/DataX.Flow/Flow.ManagementService
Services/DataX.Metrics/DataX.Metrics.Ingestor
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
18:191 (97%)
view
97 x 2 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.ManagementService
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
17:190 (97%)
view
97 x 2 Services/DataX.Flow/Flow.SchemaInferenceService
Services/DataX.Metrics/DataX.Metrics.Ingestor
ServiceEventSource.cs
ServiceEventSource.cs
13:186 (97%)
18:191 (97%)
view
97 x 2 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
17:190 (97%)
view
97 x 2 Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.ManagementService
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
17:190 (97%)
view
97 x 2 Services/DataX.Flow/Flow.ManagementService
Services/DataX.Flow/Flow.SchemaInferenceService
ServiceEventSource.cs
ServiceEventSource.cs
17:190 (97%)
13:186 (97%)
view
70 x 2 Services/DataX.Gateway/DataX.Gateway/Scripts
Services/DataX.Metrics/DataX.Metrics/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
1:100 (35%)
1:100 (33%)
view
70 x 2 Services/DataX.Flow/DataX.Flow/Scripts
Services/DataX.Metrics/DataX.Metrics/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
1:100 (35%)
1:100 (33%)
view
70 x 2 Services/DataX.Metrics/DataX.Metrics/Scripts
Services/DataX.Simulated...X.SimulatedData/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
1:100 (33%)
1:100 (35%)
view
67 x 2 Website/Packages/datax-p...ion/components/schedule
Website/Packages/datax-p...ion/components/schedule
oneTimeScheduleSettings.jsx
recurringScheduleSettings.jsx
23:103 (38%)
24:104 (36%)
view
58 x 2 Services/DataX.Gateway/DataX.Gateway/Scripts
Services/DataX.Metrics/DataX.Metrics/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
144:215 (29%)
148:219 (27%)
view
58 x 2 Services/DataX.Flow/DataX.Flow/Scripts
Services/DataX.Metrics/DataX.Metrics/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
144:215 (29%)
148:219 (27%)
view
58 x 2 Services/DataX.Metrics/DataX.Metrics/Scripts
Services/DataX.Simulated...X.SimulatedData/Scripts
Deploy-FabricApplication.ps1
Deploy-FabricApplication.ps1
148:219 (27%)
144:215 (29%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 20 unit duplicates...
Size#FoldersFilesLinesCode
28 x 2 Services/DataX.Flow/DataX.Flow.CodegenRules
Services/DataX.Flow/DataX.Flow.CodegenRules
Engine.cs
Engine.cs
200:230 
268:298 
view
28 x 5 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.ManagementService
Services/DataX.Flow/Flow.SchemaInferenceService
Services/DataX.Metrics/DataX.Metrics.Ingestor
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
99:128 
99:128 
99:128 
95:124 
100:129 
view
17 x 3 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.SchemaInferenceService
InteractiveQueryService.cs
LiveDataService.cs
SchemaInferenceService.cs
41:58 
41:59 
41:59 
view
15 x 6 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.ManagementService
Services/DataX.Flow/Flow.SchemaInferenceService
Services/DataX.Metrics/DataX.Metrics.Ingestor
Services/DataX.ServiceHo...rviceHost.ServiceFabric
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
72:88 
72:88 
72:88 
68:84 
73:89 
72:88 
view
13 x 2 Services/DataX.Config/Da...Config.DatabricksClient
Services/DataX.Config/DataX.Config.LivyClient
DatabricksHttpClient.cs
LivyHttpClient.cs
42:55 
42:55 
view
12 x 3 Services/DataX.Config/DataX.Config/Utility
Services/DataX.Config/DataX.Config/Utility
Services/DataX.Flow/DataX.Flow.Common
ConfigHelper.cs
ConfigHelper.cs
Helper.cs
19:32 
39:52 
220:233 
view
12 x 2 Services/DataX.Simulated...Data.DataGenServiceTest
Services/DataX.Simulated...Data.DataGenServiceTest
DataGenUnitTests.cs
DataGenUnitTests.cs
19:36 
39:56 
view
11 x 2 Services/DataX.Config/DataX.Utility.EventHub
Services/DataX.Utilities/DataX.Utilities.EventHub
EventHubManagementRestClient.cs
EventHubUtil.cs
41:54 
228:241 
view
11 x 6 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.ManagementService
Services/DataX.Flow/Flow.SchemaInferenceService
Services/DataX.Metrics/DataX.Metrics.Ingestor
Services/DataX.ServiceHo...rviceHost.ServiceFabric
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
163:176 
163:176 
163:176 
159:172 
164:177 
146:159 
view
10 x 2 Services/DataX.Config/Da...Config.DatabricksClient
Services/DataX.Config/DataX.Config.LivyClient
DatabricksClient.cs
LivyClient.cs
72:82 
194:204 
view
10 x 2 Services/DataX.Config/DataX.Config/Utility
Services/DataX.Config/DataX.Utility.EventHub
DictionaryExtension.cs
ConnectionStringParser.cs
27:37 
53:63 
view
10 x 6 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.ManagementService
Services/DataX.Flow/Flow.SchemaInferenceService
Services/DataX.Metrics/DataX.Metrics.Ingestor
Services/DataX.Simulated...atedData.DataGenService
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
178:188 
178:188 
178:188 
174:184 
179:189 
156:166 
view
9 x 2 Services/DataX.Flow/DataX.Flow.Common
Services/DataX.Flow/DataX.Flow.InteractiveQuery
Helper.cs
KernelService.cs
307:317 
756:766 
view
7 x 3 DataProcessing/datax-uti...ain/scala/datax/utility
DataProcessing/datax-uti...ain/scala/datax/utility
DataProcessing/datax-uti...ain/scala/datax/utility
DataMerger.scala
DataMerger.scala
MapManipulation.scala
16:23 
25:32 
17:24 
view
7 x 2 Services/DataX.Config/Da...figGeneration/Processor
Services/DataX.Config/Da...figGeneration/Processor
S600_GenerateJobConfig.cs
S600_GenerateJobConfigBatch.cs
92:100 
283:291 
view
7 x 2 Services/DataX.Config/DataX.Config/Utility
Services/DataX.Config/DataX.Config/Utility
ConfigHelper.cs
ConfigHelper.cs
133:141 
161:169 
view
7 x 6 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.ManagementService
Services/DataX.Flow/Flow.SchemaInferenceService
Services/DataX.Metrics/DataX.Metrics.Ingestor
Services/DataX.ServiceHo...rviceHost.ServiceFabric
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
52:59 
52:59 
52:59 
48:55 
53:60 
52:59 
view
6 x 2 Services/DataX.Flow/DataX.Flow.SchemaInference
Services/DataX.Flow/DataX.Flow.SchemaInference
Schema.cs
Schema.cs
38:44 
46:52 
view
6 x 6 Services/DataX.Flow/Flow.InteractiveQueryService
Services/DataX.Flow/Flow.LiveDataService
Services/DataX.Flow/Flow.ManagementService
Services/DataX.Flow/Flow.SchemaInferenceService
Services/DataX.Metrics/DataX.Metrics.Ingestor
Services/DataX.ServiceHo...rviceHost.ServiceFabric
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
ServiceEventSource.cs
63:69 
63:69 
63:69 
59:65 
64:70 
63:69 
view
6 x 2 Services/DataX.Utilities/DataX.Utilities.KeyVault
Services/DataX.Utilities/DataX.Utility.KeyVault
KeyVaultManager.cs
KeyVaultUtility.cs
144:150 
112:118 
view