microsoft / Ros-Orchestration
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
  • 9% duplication:
    • 2,663 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 261 duplicated lines
  • 33 duplicates
system9% (261 lines)
Duplication per Extension
cs10% (127 lines)
yml53% (114 lines)
tsx3% (20 lines)
Duplication per Component (primary)
RobotOrchestrator.OrderManager20% (67 lines)
RobotOrchestrator.FleetManager24% (64 lines)
RobotOrchestrator.OrderProducer21% (52 lines)
RobotOrchestrator.Dispatcher50% (52 lines)
ui/src2% (20 lines)
ui15% (6 lines)
Robot/src0% (0 lines)
RobotOrchestrator.Dispatcher/Controllers0% (0 lines)
RobotOrchestrator.FleetManager/Controllers0% (0 lines)
RobotOrchestrator.OrderManager/Controllers0% (0 lines)
RobotOrchestrator.OrderProducer/Controllers0% (0 lines)
RobotOrchestrator0% (0 lines)
ROOT0% (0 lines)
helm/ros-orchestrator0% (0 lines)
ui/public0% (0 lines)

Duplication Between Components (50+ lines)

G RobotOrchestrator.FleetManager RobotOrchestrator.FleetManager RobotOrchestrator.OrderManager RobotOrchestrator.OrderManager RobotOrchestrator.FleetManager--RobotOrchestrator.OrderManager 128 RobotOrchestrator.OrderProducer RobotOrchestrator.OrderProducer RobotOrchestrator.FleetManager--RobotOrchestrator.OrderProducer 98 RobotOrchestrator.OrderManager--RobotOrchestrator.OrderProducer 104 RobotOrchestrator.Dispatcher RobotOrchestrator.Dispatcher RobotOrchestrator.Dispatcher--RobotOrchestrator.OrderProducer 104 RobotOrchestrator.Dispatcher--RobotOrchestrator.OrderManager 104 RobotOrchestrator.Dispatcher--RobotOrchestrator.FleetManager 98

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 33 duplicates...
Size#FoldersFilesLinesCode
19 x 2 RobotOrchestrator.OrderManager
RobotOrchestrator.OrderProducer
azure-pipelines.yml
azure-pipelines.yml
22:40 (57%)
22:40 (57%)
view
19 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderProducer
azure-pipelines.yml
azure-pipelines.yml
23:41 (57%)
22:40 (57%)
view
19 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderManager
azure-pipelines.yml
azure-pipelines.yml
23:41 (57%)
22:40 (57%)
view
19 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.FleetManager
azure-pipelines.yml
azure-pipelines.yml
23:41 (57%)
22:40 (57%)
view
19 x 2 RobotOrchestrator.FleetManager
RobotOrchestrator.OrderManager
azure-pipelines.yml
azure-pipelines.yml
22:40 (57%)
22:40 (57%)
view
19 x 2 RobotOrchestrator.FleetManager
RobotOrchestrator.OrderProducer
azure-pipelines.yml
azure-pipelines.yml
22:40 (57%)
22:40 (57%)
view
15 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderProducer
Program.cs
Program.cs
12:34 (100%)
17:39 (100%)
view
15 x 2 RobotOrchestrator.FleetManager
RobotOrchestrator.OrderManager
Program.cs
Program.cs
10:33 (100%)
10:32 (100%)
view
15 x 2 RobotOrchestrator.FleetManager
RobotOrchestrator.OrderProducer
Program.cs
Program.cs
10:33 (100%)
17:39 (100%)
view
15 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderManager
Program.cs
Program.cs
12:34 (100%)
10:32 (100%)
view
15 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.FleetManager
Program.cs
Program.cs
12:34 (100%)
10:33 (100%)
view
15 x 2 RobotOrchestrator.OrderManager
RobotOrchestrator.OrderProducer
Program.cs
Program.cs
10:32 (100%)
17:39 (100%)
view
10 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderProducer
Startup.cs
Startup.cs
40:63 (40%)
42:65 (37%)
view
10 x 2 RobotOrchestrator.OrderManager
RobotOrchestrator.OrderProducer
Startup.cs
Startup.cs
56:79 (20%)
42:65 (37%)
view
10 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderManager
Startup.cs
Startup.cs
40:63 (40%)
56:79 (20%)
view
8 x 2 RobotOrchestrator.OrderManager
RobotOrchestrator.OrderProducer
azure-pipelines.yml
azure-pipelines.yml
6:14 (24%)
6:14 (24%)
view
8 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderProducer
azure-pipelines.yml
azure-pipelines.yml
7:15 (24%)
6:14 (24%)
view
8 x 2 RobotOrchestrator.Dispatcher
RobotOrchestrator.FleetManager
azure-pipelines.yml
azure-pipelines.yml
7:15 (24%)
6:14 (24%)
view
8 x 2 RobotOrchestrator.FleetManager
RobotOrchestrator.OrderProducer
azure-pipelines.yml
azure-pipelines.yml
6:14 (24%)
6:14 (24%)
view
8 x 2 RobotOrchestrator.FleetManager
RobotOrchestrator.OrderManager
Startup.cs
Startup.cs
35:49 (15%)
38:52 (16%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
19 x 2 RobotOrchestrator.FleetManager
RobotOrchestrator.OrderManager
Startup.cs
Startup.cs
92:113 
87:108 
view
17 x 3 RobotOrchestrator.Dispatcher
RobotOrchestrator.OrderManager
RobotOrchestrator.OrderProducer
Startup.cs
Startup.cs
Startup.cs
45:69 
61:85 
47:71 
view
13 x 4 RobotOrchestrator.Dispatcher
RobotOrchestrator.FleetManager
RobotOrchestrator.OrderManager
RobotOrchestrator.OrderProducer
Program.cs
Program.cs
Program.cs
Program.cs
19:33 
17:32 
17:31 
24:38 
view