microsoft / service-fabric-services-and-actors-dotnet
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
  • 18% duplication:
    • 24,989 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,594 duplicated lines
  • 581 duplicates
system18% (4,594 lines)
Duplication per Extension
cs18% (4,582 lines)
targets9% (12 lines)
Duplication per Component (primary)
src/Microsoft.ServiceFabric.Services.Remoting25% (1,727 lines)
src/Microsoft.ServiceFabric.Actors15% (1,716 lines)
src/Microsoft.ServiceFabric.Services20% (728 lines)
src/Microsoft.ServiceFabric.Services.Wcf28% (370 lines)
src/Microsoft.ServiceFabric.Actors.Wcf14% (27 lines)
src/FabActUtil1% (20 lines)
src/netstandard23% (6 lines)
ROOT0% (0 lines)
properties0% (0 lines)
properties/stylecop0% (0 lines)

Duplication Between Components (50+ lines)

G src/Microsoft.ServiceFabric.Actors src/Microsoft.ServiceFabric.Actors src/Microsoft.ServiceFabric.Services.Remoting src/Microsoft.ServiceFabric.Services.Remoting src/Microsoft.ServiceFabric.Actors--src/Microsoft.ServiceFabric.Services.Remoting 332 src/Microsoft.ServiceFabric.Services src/Microsoft.ServiceFabric.Services src/Microsoft.ServiceFabric.Actors--src/Microsoft.ServiceFabric.Services 272 src/Microsoft.ServiceFabric.Services.Wcf src/Microsoft.ServiceFabric.Services.Wcf src/Microsoft.ServiceFabric.Services.Remoting--src/Microsoft.ServiceFabric.Services.Wcf 117

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 581 duplicates...
Size#FoldersFilesLinesCode
51 x 2 src/Microsoft.ServiceFab...ces.Remoting/Diagnostic
src/Microsoft.ServiceFab....Remoting/V2/Diagnostic
ServiceRemotingPerformanceCounters.cs
ServiceRemotingPerformanceCounters.cs
138:190 (33%)
79:131 (49%)
view
45 x 2 src/Microsoft.ServiceFabric.Services/Runtime
src/Microsoft.ServiceFabric.Services/Runtime
StatefulServiceReplicaAdapter.cs
StatelessServiceInstanceAdapter.cs
531:604 (13%)
345:417 (18%)
view
34 x 2 src/Microsoft.ServiceFabric.Actors
src/Microsoft.ServiceFabric.Services
ActorEventSource.cs
ServiceEventSource.cs
55:125 (16%)
49:119 (15%)
view
34 x 2 src/Microsoft.ServiceFab...ces.Remoting/Diagnostic
src/Microsoft.ServiceFab....Remoting/V2/Diagnostic
ServicePerformanceCounterProvider.cs
ServiceRemotingPerformanceCounterProv...
306:342 (12%)
156:192 (22%)
view
27 x 2 src/Microsoft.ServiceFab...ces.Remoting/Diagnostic
src/Microsoft.ServiceFab....Remoting/V2/Diagnostic
ServiceRemotingPerformanceCounters.cs
ServiceRemotingPerformanceCounters.cs
60:95 (17%)
38:73 (25%)
view
26 x 2 src/Microsoft.ServiceFab...ces.Remoting/Diagnostic
src/Microsoft.ServiceFab....Remoting/V2/Diagnostic
ServicePerformanceCounterProvider.cs
ServiceRemotingPerformanceCounterProv...
172:212 (9%)
107:147 (17%)
view
24 x 2 src/Microsoft.ServiceFab...ces.Remoting/V1/Builder
src/Microsoft.ServiceFab...ces.Remoting/V2/Builder
MethodDispatcherBuilder.cs
MethodDispatcherBuilder.cs
87:125 (11%)
365:403 (8%)
view
23 x 2 src/Microsoft.ServiceFabric.Services/Runtime
src/Microsoft.ServiceFabric.Services/Runtime
StatefulServiceReplicaAdapter.cs
StatelessServiceInstanceAdapter.cs
608:652 (6%)
431:475 (9%)
view
17 x 2 src/Microsoft.ServiceFab...tors/Remoting/V1/Client
src/Microsoft.ServiceFab...tors/Remoting/V2/Client
ActorEventSubscriberManager.cs
ActorEventSubscriberManager.cs
78:113 (33%)
69:104 (36%)
view
17 x 2 src/Microsoft.ServiceFab...ces.Remoting/V1/Builder
src/Microsoft.ServiceFab...ces.Remoting/V2/Builder
MethodDispatcherBuilder.cs
MethodDispatcherBuilder.cs
42:67 (8%)
50:75 (6%)
view
17 x 2 src/Microsoft.ServiceFab...ces.Remoting/V1/Builder
src/Microsoft.ServiceFab...ces.Remoting/V2/Builder
MethodDispatcherBuilder.cs
MethodDispatcherBuilder.cs
128:151 (8%)
406:429 (6%)
view
17 x 2 src/Microsoft.ServiceFab...rvices.Remoting/Builder
src/Microsoft.ServiceFab...rvices.Remoting/Builder
ProxyGeneratorBuilder.cs
ProxyGeneratorBuilder.cs
127:151 (6%)
268:292 (6%)
view
16 x 2 src/Microsoft.ServiceFabric.Actors/Remoting
src/Microsoft.ServiceFabric.Actors/Remoting
ActorDataContractSurrogate.cs
ActorDataContractSurrogate.cs
21:55 (32%)
66:100 (32%)
view
16 x 2 src/Microsoft.ServiceFab...rvices.Remoting/Builder
src/Microsoft.ServiceFab...ces.Remoting/V2/Builder
ProxyGeneratorBuilder.cs
ProxyGeneratorBuilder.cs
384:404 (6%)
370:390 (6%)
view
16 x 2 src/Microsoft.ServiceFab...FabricTransport/Runtime
src/Microsoft.ServiceFab...FabricTransport/Runtime
FabricTransportServiceRemotingConnect...
FabricTransportRemotingConnectionHand...
20:51 (84%)
19:50 (84%)
view
16 x 2 src/Microsoft.ServiceFab...ices.Remoting/V1/Client
src/Microsoft.ServiceFab...ices.Remoting/V2/Client
ServiceRemotingPartitionClient.cs
ServiceRemotingPartitionClient.cs
17:34 (27%)
17:34 (22%)
view
15 x 2 src/Microsoft.ServiceFab...ces.Remoting/V1/Builder
src/Microsoft.ServiceFab...ces.Remoting/V2/Builder
MethodDispatcherBuilder.cs
MethodDispatcherBuilder.cs
167:189 (7%)
246:268 (5%)
view
15 x 2 src/Microsoft.ServiceFab...ices.Remoting/V1/Client
src/Microsoft.ServiceFab...ices.Remoting/V2/Client
ServiceRemotingPartitionClient.cs
ServiceRemotingPartitionClient.cs
95:128 (25%)
102:138 (21%)
view
15 x 2 src/Microsoft.ServiceFabric.Actors/Runtime
src/Microsoft.ServiceFabric.Actors/Runtime
ReliableCollectionsActorStateProvider.cs
VolatileActorStateProvider.cs
160:200 (2%)
100:140 (2%)
view
15 x 2 src/Microsoft.ServiceFabric.Actors/Runtime
src/Microsoft.ServiceFabric.Actors/Runtime
KvsActorStateProviderBase.cs
VolatileActorStateProvider.cs
109:149 (2%)
100:140 (2%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 61 unit duplicates...
Size#FoldersFilesLinesCode
36 x 2 src/Microsoft.ServiceFabric.Services/Runtime
src/Microsoft.ServiceFabric.Services/Runtime
StatefulServiceReplicaAdapter.cs
StatelessServiceInstanceAdapter.cs
564:606 
377:419 
view
35 x 2 src/Microsoft.ServiceFabric.Services/Runtime
src/Microsoft.ServiceFabric.Services/Runtime
StatefulServiceReplicaAdapter.cs
StatelessServiceInstanceAdapter.cs
608:650 
431:473 
view
29 x 2 src/Microsoft.ServiceFab...ces.Remoting/V1/Builder
src/Microsoft.ServiceFab...ces.Remoting/V2/Builder
MethodDispatcherBuilder.cs
MethodDispatcherBuilder.cs
79:115 
357:393 
view
19 x 2 src/Microsoft.ServiceFabric.Actors/Diagnostics
src/Microsoft.ServiceFab...ces.Remoting/Diagnostic
PerformanceCounterProvider.cs
ServicePerformanceCounterProvider.cs
395:415 
346:366 
view
17 x 2 src/Microsoft.ServiceFab...ces.Remoting/Diagnostic
src/Microsoft.ServiceFab....Remoting/V2/Diagnostic
ServicePerformanceCounterProvider.cs
ServiceRemotingPerformanceCounterProv...
368:386 
196:214 
view
15 x 2 src/Microsoft.ServiceFab...ces.Remoting/Diagnostic
src/Microsoft.ServiceFab....Remoting/V2/Diagnostic
ServicePerformanceCounterProvider.cs
ServiceRemotingPerformanceCounterProv...
196:213 
131:148 
view
15 x 2 src/Microsoft.ServiceFab...ices.Remoting/V1/Client
src/Microsoft.ServiceFab...ices.Remoting/V2/Client
ServiceRemotingPartitionClient.cs
ServiceRemotingPartitionClient.cs
21:36 
21:36 
view
14 x 2 src/Microsoft.ServiceFab...tors/Remoting/V1/Client
src/Microsoft.ServiceFab...tors/Remoting/V2/Client
ActorProxyFactory.cs
ActorProxyFactory.cs
103:118 
71:86 
view
14 x 2 src/Microsoft.ServiceFab...tors/Remoting/V1/Client
src/Microsoft.ServiceFab...tors/Remoting/V2/Client
ActorProxyFactory.cs
ActorProxyFactory.cs
229:245 
212:228 
view
14 x 2 src/Microsoft.ServiceFab...ices.Remoting/V1/Client
src/Microsoft.ServiceFab...ices.Remoting/V2/Client
ServiceProxyFactory.cs
ServiceProxyFactory.cs
90:104 
103:117 
view
14 x 2 src/Microsoft.ServiceFab...ices.Remoting/V1/Client
src/Microsoft.ServiceFab...ices.Remoting/V2/Client
ServiceProxyFactory.cs
ServiceProxyFactory.cs
135:151 
170:186 
view
14 x 2 src/Microsoft.ServiceFab.../FabricTransport/Client
src/Microsoft.ServiceFab.../FabricTransport/Client
FabricTransportServiceRemotingClientF...
FabricTransportServiceRemotingClientF...
199:213 
260:274 
view
14 x 2 src/Microsoft.ServiceFab.../FabricTransport/Client
src/Microsoft.ServiceFab.../FabricTransport/Client
FabricTransportServiceRemotingClientF...
FabricTransportServiceRemotingClientF...
215:229 
276:290 
view
14 x 2 src/Microsoft.ServiceFabric.Services.Remoting/V2
src/Microsoft.ServiceFabric.Services.Remoting/V2
ServiceRemotingDataContractSerializat...
ServiceRemotingDataContractSerializat...
104:119 
121:136 
view
13 x 2 src/Microsoft.ServiceFabric.Actors/Runtime
src/Microsoft.ServiceFabric.Actors/Runtime
ActorEventManager.cs
MockActorEventManager.cs
51:65 
36:50 
view
13 x 2 src/Microsoft.ServiceFabric.Services.Remoting/V2
src/Microsoft.ServiceFabric.Services.Remoting/V2
BasicDataContractHeaderSerializer.cs
ServiceRemotingMessageHeaderSerialize...
62:76 
65:79 
view
13 x 2 src/Microsoft.ServiceFabric.Services.Remoting/V2
src/Microsoft.ServiceFabric.Services.Remoting/V2
BasicDataContractHeaderSerializer.cs
ServiceRemotingMessageHeaderSerialize...
97:111 
99:113 
view
12 x 2 src/Microsoft.ServiceFabric.Actors/Client
src/Microsoft.ServiceFab...ervices.Remoting/Client
ActorProxyFactory.cs
ServiceProxyFactory.cs
198:210 
218:230 
view
12 x 2 src/Microsoft.ServiceFabric.Actors/Remoting
src/Microsoft.ServiceFabric.Actors/Remoting
ActorDataContractSurrogate.cs
ActorDataContractSurrogate.cs
43:56 
88:101 
view
11 x 2 src/Microsoft.ServiceFabric.Actors/Remoting
src/Microsoft.ServiceFabric.Actors/Remoting
ActorDataContractSurrogate.cs
ActorDataContractSurrogate.cs
29:41 
74:86 
view