microsoft / CanvasTools-for-VOTT
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
  • 27% duplication:
    • 7,198 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,951 duplicated lines
  • 148 duplicates
system27% (1,951 lines)
Duplication per Extension
ts27% (1,951 lines)
Duplication per Component (primary)
src/canvastools/ts/CanvasTools/Region/Polygon95% (413 lines)
src/canvastools/ts/CanvasTools/Region/Path81% (360 lines)
src/canvastools/ts/CanvasTools/Region/Polyline77% (288 lines)
src/canvastools/ts/CanvasTools22% (211 lines)
src/canvastools/ts/CanvasTools/Toolbar45% (167 lines)
src/canvastools/ts/CanvasTools/Region/Rect35% (165 lines)
src/canvastools/ts/CanvasTools/Selection/Selectors16% (141 lines)
src/canvastools/ts/CanvasTools/Region/Component12% (81 lines)
src/canvastools/ts/CanvasTools/Region/Point25% (41 lines)
src/canvastools/ts/CanvasTools/Region4% (33 lines)
src/canvastools/ts/CanvasTools/Core3% (26 lines)
src/canvastools/ts/CanvasTools/Core/Colors3% (18 lines)
src/canvastools/ts/CanvasTools/Selection5% (7 lines)
ROOT0% (0 lines)
src/canvastools/ts/CanvasTools/Core/Utils0% (0 lines)
src/canvastools/ts/CanvasTools/Interface0% (0 lines)
src/canvastools/ts/CanvasTools/Selection/Component0% (0 lines)
src/canvastools/ts0% (0 lines)

Duplication Between Components (50+ lines)

G src/canvastools/ts/CanvasTools/Region/Path src/canvastools/ts/CanvasTools/Region/Path src/canvastools/ts/CanvasTools/Region/Polygon src/canvastools/ts/CanvasTools/Region/Polygon src/canvastools/ts/CanvasTools/Region/Path--src/canvastools/ts/CanvasTools/Region/Polygon 720 src/canvastools/ts/CanvasTools/Region/Polyline src/canvastools/ts/CanvasTools/Region/Polyline src/canvastools/ts/CanvasTools/Region/Path--src/canvastools/ts/CanvasTools/Region/Polyline 433 src/canvastools/ts/CanvasTools/Region/Rect src/canvastools/ts/CanvasTools/Region/Rect src/canvastools/ts/CanvasTools/Region/Path--src/canvastools/ts/CanvasTools/Region/Rect 239 src/canvastools/ts/CanvasTools/Region/Point src/canvastools/ts/CanvasTools/Region/Point src/canvastools/ts/CanvasTools/Region/Path--src/canvastools/ts/CanvasTools/Region/Point 54 src/canvastools/ts/CanvasTools/Region/Polygon--src/canvastools/ts/CanvasTools/Region/Polyline 553 src/canvastools/ts/CanvasTools/Region/Polygon--src/canvastools/ts/CanvasTools/Region/Rect 251 src/canvastools/ts/CanvasTools/Region/Polyline--src/canvastools/ts/CanvasTools/Region/Rect 185 src/canvastools/ts/CanvasTools/Region/Point--src/canvastools/ts/CanvasTools/Region/Polyline 54 src/canvastools/ts/CanvasTools/Region/Point--src/canvastools/ts/CanvasTools/Region/Polygon 54

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 148 duplicates...
Size#FoldersFilesLinesCode
185 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
TagsElement.ts
TagsElement.ts
93:331 (86%)
93:331 (86%)
view
46 x 2 src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
ToolbarSelectIcon.ts
ToolbarTriggerIcon.ts
23:84 (79%)
25:86 (79%)
view
42 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
AnchorsElement.ts
AnchorsElement.ts
163:231 (26%)
144:212 (26%)
view
41 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
PolygonRegion.ts
PolylineRegion.ts
19:114 (97%)
21:116 (97%)
view
35 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polyline
TagsElement.ts
TagsElement.ts
255:301 (16%)
173:219 (22%)
view
35 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
TagsElement.ts
TagsElement.ts
255:301 (16%)
173:219 (22%)
view
32 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
PathRegion.ts
PolygonRegion.ts
40:111 (71%)
34:105 (76%)
view
32 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polyline
PathRegion.ts
PolylineRegion.ts
40:111 (71%)
36:107 (76%)
view
30 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
AnchorsElement.ts
AnchorsElement.ts
47:97 (18%)
31:81 (19%)
view
29 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
TagsElement.ts
TagsElement.ts
12:91 (13%)
12:91 (13%)
view
29 x 2 src/canvastools/ts/CanvasTools
src/canvastools/ts/CanvasTools
CanvasTools.Editor.ts
CanvasTools.Editor.ts
160:191 (4%)
254:285 (4%)
view
29 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Rect
TagsElement.ts
TagsElement.ts
96:127 (13%)
67:98 (12%)
view
29 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Rect
TagsElement.ts
TagsElement.ts
96:127 (13%)
67:98 (12%)
view
27 x 2 src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
ToolbarSwitchIcon.ts
ToolbarTriggerIcon.ts
52:87 (46%)
51:86 (46%)
view
27 x 2 src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
ToolbarSelectIcon.ts
ToolbarSwitchIcon.ts
49:84 (46%)
52:87 (46%)
view
26 x 2 src/canvastools/ts/CanvasTools/Region/Polyline
src/canvastools/ts/CanvasTools/Region/Rect
PolylineRegion.ts
RectRegion.ts
53:102 (61%)
53:102 (60%)
view
26 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Rect
PathRegion.ts
RectRegion.ts
57:106 (57%)
53:102 (60%)
view
26 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Rect
PolygonRegion.ts
RectRegion.ts
51:100 (61%)
53:102 (60%)
view
24 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polyline
TagsElement.ts
TagsElement.ts
127:159 (11%)
78:109 (15%)
view
24 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
TagsElement.ts
TagsElement.ts
127:159 (11%)
78:109 (15%)
view
Duplicated Units
The list of top 13 duplicated units.
See data for all 13 unit duplicates...
Size#FoldersFilesLinesCode
135 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
TagsElement.ts
TagsElement.ts
149:287 
149:287 
view
33 x 3 src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
ToolbarSelectIcon.ts
ToolbarSwitchIcon.ts
ToolbarTriggerIcon.ts
45:85 
48:88 
47:87 
view
30 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
TagsElement.ts
TagsElement.ts
292:325 
292:325 
view
14 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
PolygonRegion.ts
PolylineRegion.ts
97:115 
99:117 
view
10 x 3 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
AnchorsElement.ts
AnchorsElement.ts
AnchorsElement.ts
278:288 
276:286 
271:281 
view
10 x 3 src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
ToolbarSelectIcon.ts
ToolbarSwitchIcon.ts
ToolbarTriggerIcon.ts
31:43 
34:46 
33:45 
view
9 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
AnchorsElement.ts
AnchorsElement.ts
198:208 
179:189 
view
9 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
DragElement.ts
DragElement.ts
33:42 
33:42 
view
8 x 2 src/canvastools/ts/CanvasTools/Core
src/canvastools/ts/CanvasTools/Core
Point2D.ts
Point2D.ts
40:48 
61:69 
view
6 x 2 src/canvastools/ts/CanvasTools/Region/Path
src/canvastools/ts/CanvasTools/Region/Polygon
AnchorsElement.ts
AnchorsElement.ts
185:192 
166:173 
view
6 x 2 src/canvastools/ts/CanvasTools/Region/Polygon
src/canvastools/ts/CanvasTools/Region/Polyline
DragElement.ts
DragElement.ts
19:28 
19:28 
view
6 x 2 src/canvastools/ts/CanvasTools/Region
src/canvastools/ts/CanvasTools/Region
RegionMenu.ts
RegionMenu.ts
202:209 
214:220 
view
6 x 3 src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
src/canvastools/ts/CanvasTools/Toolbar
ToolbarSelectIcon.ts
ToolbarSwitchIcon.ts
ToolbarTriggerIcon.ts
23:29 
26:32 
25:31 
view