microsoft / generator-azuresfcsharp
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
  • 66% duplication:
    • 1,834 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,227 duplicated lines
  • 159 duplicates
system66% (1,227 lines)
Duplication per Extension
js75% (1,077 lines)
ps189% (78 lines)
cs24% (72 lines)
Duplication per Component (primary)
generators/CoreCLRStatelessService97% (370 lines)
generators/CoreCLRStatefulService98% (365 lines)
generators/CoreCLRStatefulActor62% (342 lines)
generators/CoreCLRStatefulActor/templates/service50% (36 lines)
generators/CoreCLRStatelessService/templates/service42% (36 lines)
generators/CoreCLRStatefulActor/templates/main63% (26 lines)
generators/CoreCLRStatelessService/templates/main76% (26 lines)
generators/CoreCLRStatefulService/templates/main76% (26 lines)
generators/AddService0% (0 lines)
generators/CoreCLRStatefulActor/templates/interface0% (0 lines)
generators/CoreCLRStatefulActor/templates/testclient0% (0 lines)
generators/CoreCLRStatefulService/templates/service0% (0 lines)
generators/app0% (0 lines)
generators0% (0 lines)

Duplication Between Components (50+ lines)

G generators/CoreCLRStatefulService generators/CoreCLRStatefulService generators/CoreCLRStatelessService generators/CoreCLRStatelessService generators/CoreCLRStatefulService--generators/CoreCLRStatelessService 733 generators/CoreCLRStatefulActor generators/CoreCLRStatefulActor generators/CoreCLRStatefulActor--generators/CoreCLRStatelessService 575 generators/CoreCLRStatefulActor--generators/CoreCLRStatefulService 569 generators/CoreCLRStatefulActor/templates/service generators/CoreCLRStatefulActor/templates/service generators/CoreCLRStatelessService/templates/service generators/CoreCLRStatelessService/templates/service generators/CoreCLRStatefulActor/templates/service--generators/CoreCLRStatelessService/templates/service 72 generators/CoreCLRStatefulService/templates/main generators/CoreCLRStatefulService/templates/main generators/CoreCLRStatelessService/templates/main generators/CoreCLRStatelessService/templates/main generators/CoreCLRStatefulService/templates/main--generators/CoreCLRStatelessService/templates/main 52 generators/CoreCLRStatefulActor/templates/main generators/CoreCLRStatefulActor/templates/main generators/CoreCLRStatefulActor/templates/main--generators/CoreCLRStatefulService/templates/main 52 generators/CoreCLRStatefulActor/templates/main--generators/CoreCLRStatelessService/templates/main 52

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 159 duplicates...
Size#FoldersFilesLinesCode
107 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
48:174 (28%)
48:174 (28%)
view
92 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
297:405 (24%)
196:305 (24%)
view
69 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatefulService
index.js
index.js
120:199 (12%)
96:175 (18%)
view
68 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatelessService
index.js
index.js
120:198 (12%)
96:174 (17%)
view
58 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatefulService
index.js
index.js
216:283 (10%)
180:248 (15%)
view
49 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
228:286 (13%)
342:401 (12%)
view
37 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatefulService
index.js
index.js
460:506 (6%)
297:344 (10%)
view
37 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatelessService
index.js
index.js
460:506 (6%)
196:244 (9%)
view
27 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
411:443 (7%)
424:454 (7%)
view
27 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
11:43 (7%)
11:43 (7%)
view
27 x 2 generators/CoreCLRStatef...templates/service/class
generators/CoreCLRStatel...templates/service/class
ActorEventListener.cs
ServiceEventListener.cs
30:79 (90%)
30:79 (90%)
view
18 x 2 generators/CoreCLRStatef...e/templates/main/deploy
generators/CoreCLRStatel...e/templates/main/deploy
deploy.ps1
deploy.ps1
1:21 (100%)
1:21 (100%)
view
18 x 2 generators/CoreCLRStatef...r/templates/main/deploy
generators/CoreCLRStatef...e/templates/main/deploy
deploy.ps1
deploy.ps1
1:21 (100%)
1:21 (100%)
view
18 x 2 generators/CoreCLRStatef...r/templates/main/deploy
generators/CoreCLRStatel...e/templates/main/deploy
deploy.ps1
deploy.ps1
1:21 (100%)
1:21 (100%)
view
17 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatelessService
index.js
index.js
264:283 (3%)
342:363 (4%)
view
16 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
278:297 (4%)
405:424 (4%)
view
16 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
199:216 (4%)
326:345 (4%)
view
16 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatelessService
index.js
index.js
235:252 (2%)
326:345 (4%)
view
15 x 2 generators/CoreCLRStatefulActor
generators/CoreCLRStatefulService
index.js
index.js
591:611 (2%)
395:415 (4%)
view
15 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
177:196 (4%)
177:196 (3%)
view
Duplicated Units
The list of top 6 duplicated units.
See data for all 6 unit duplicates...
Size#FoldersFilesLinesCode
25 x 2 generators/CoreCLRStatef...templates/service/class
generators/CoreCLRStatel...templates/service/class
ActorEventListener.cs
ServiceEventListener.cs
50:80 
50:80 
view
25 x 2 generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
23:49 
23:49 
view
15 x 2 generators/CoreCLRStatef...templates/service/class
generators/CoreCLRStatel...templates/service/class
ActorEventListener.cs
ServiceEventListener.cs
30:48 
30:48 
view
13 x 3 generators/CoreCLRStatefulActor
generators/CoreCLRStatefulService
generators/CoreCLRStatelessService
index.js
index.js
index.js
7:21 
7:21 
7:21 
view
7 x 2 generators/CoreCLRStatef...templates/service/class
generators/CoreCLRStatel...templates/service/class
ActorEventSource.cs
ServiceEventSource.cs
31:38 
34:41 
view
6 x 2 generators/CoreCLRStatef...templates/service/class
generators/CoreCLRStatel...templates/service/class
ActorEventSource.cs
ServiceEventSource.cs
41:47 
44:50 
view