microsoft / CRA
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
  • 13% duplication:
    • 6,985 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 963 duplicated lines
  • 67 duplicates
system13% (963 lines)
Duplication per Extension
cs12% (857 lines)
yml96% (106 lines)
Duplication per Component (primary)
CRA.ClientLibrary/DataProcessing16% (397 lines)
CRA.ClientLibrary/Main17% (237 lines)
CRA.Worker61% (106 lines)
CRA.ClientLibrary/DataProvider18% (68 lines)
CRA.ClientLibrary/AzureProvider10% (66 lines)
CRA.DataProvider.File8% (38 lines)
CRA.ClientLibrary/Utilities2% (24 lines)
CRA.ClientLibrary/Security27% (16 lines)
CRA.ClientLibrary/Vertices3% (11 lines)
CRA.ClientLibrary/Definitions0% (0 lines)
CRA.ClientLibrary/Properties0% (0 lines)
CRA.ClientLibrary/Tables0% (0 lines)
CRA.Worker/Properties0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 67 duplicates...
Size#FoldersFilesLinesCode
27 x 2 src/CRA.Worker
src/CRA.Worker
cra-two-instances-debug.yml
cra-two-instances-release.yml
28:54 (49%)
28:54 (49%)
view
22 x 2 src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
ShardedProducerOutput.cs
ShardedProducerSecondaryOutput.cs
26:67 (39%)
24:65 (68%)
view
20 x 2 src/CRA.ClientLibrary/DataProvider
src/CRA.ClientLibrary/DataProvider
VertexInfo.cs
VertexInfo.cs
45:70 (15%)
80:105 (15%)
view
17 x 2 src/CRA.Worker
src/CRA.Worker
cra-two-instances-debug.yml
cra-two-instances-release.yml
10:26 (30%)
10:26 (30%)
view
16 x 2 src/CRA.ClientLibrary/Main
src/CRA.ClientLibrary/Main
CRAWorker.cs
CRAWorker.cs
387:404 (2%)
412:430 (2%)
view
16 x 2 src/CRA.ClientLibrary/Main
src/CRA.ClientLibrary/Main
ShardedCRAClientLibrary.cs
ShardedCRAClientLibrary.cs
431:454 (5%)
535:557 (5%)
view
15 x 2 src/CRA.ClientLibrary/Da...essing/ShardedOperators
src/CRA.ClientLibrary/Da...essing/ShardedOperators
ShardedProducerOperator.cs
ShardedShuffleOperator.cs
38:58 (9%)
35:54 (23%)
view
14 x 2 src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
ShardedShuffleOutput.cs
ShardedShuffleSecondaryOutput.cs
26:47 (35%)
24:45 (58%)
view
13 x 2 src/CRA.ClientLibrary/Da...ng/Definitions/Operator
src/CRA.ClientLibrary/Da...ng/Definitions/Operator
OperatorInformation.cs
OperatorInformation.cs
71:96 (8%)
175:200 (8%)
view
13 x 2 src/CRA.ClientLibrary/Main
src/CRA.ClientLibrary/Main
CRAWorker.cs
CRAWorker.cs
474:489 (1%)
498:513 (1%)
view
12 x 2 src/CRA.ClientLibrary/Da...ng/Definitions/Operator
src/CRA.ClientLibrary/Da...ng/Definitions/Operator
OperatorInformation.cs
OperatorInformation.cs
31:53 (7%)
151:172 (7%)
view
11 x 2 src/CRA.ClientLibrary/Main
src/CRA.ClientLibrary/Main
ShardedCRAClientLibrary.cs
ShardedCRAClientLibrary.cs
149:167 (3%)
195:215 (3%)
view
11 x 2 src/CRA.ClientLibrary/Main
src/CRA.ClientLibrary/Vertices
CRAWorker.cs
DetachedVertex.cs
360:372 (1%)
354:366 (7%)
view
11 x 2 src/CRA.ClientLibrary/Main
src/CRA.ClientLibrary/Main
CRAWorker.cs
CRAWorker.cs
645:656 (1%)
876:887 (1%)
view
9 x 2 src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
ShardedShuffleOutput.cs
ShardedShuffleOutput.cs
29:42 (22%)
55:68 (22%)
view
9 x 2 src/CRA.ClientLibrary/Main
src/CRA.ClientLibrary/Main
CRAWorker.cs
CRAWorker.cs
743:760 (1%)
810:827 (1%)
view
9 x 2 src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
ShardedProducerSecondaryInput.cs
ShardedShuffleSecondaryInput.cs
37:49 (33%)
37:49 (33%)
view
9 x 2 src/CRA.Worker
src/CRA.Worker
cra-two-instances-debug.yml
cra-two-instances-release.yml
56:64 (16%)
56:64 (16%)
view
9 x 2 src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
ShardedShuffleOutput.cs
ShardedShuffleSecondaryOutput.cs
55:68 (22%)
27:40 (37%)
view
8 x 2 src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
src/CRA.ClientLibrary/Da...rators/ShardedEndpoints
ShardedProducerOutput.cs
ShardedProducerSecondaryOutput.cs
90:107 (14%)
43:60 (25%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
30 x 2 src/CRA.ClientLibrary/DataProvider
src/CRA.ClientLibrary/DataProvider
VertexInfo.cs
VertexInfo.cs
38:71 
73:106 
view
7 x 2 src/CRA.ClientLibrary/Da...essing/ShardedOperators
src/CRA.ClientLibrary/Da...essing/ShardedOperators
ShardedProducerOperator.cs
ShardedShuffleOperator.cs
235:242 
98:105 
view