microsoft / Dynamics365FO-AppChecker
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
  • 37% duplication:
    • 26,712 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 9,901 duplicated lines
  • 76,130 duplicates
system37% (9,901 lines)
Duplication per Extension
cs46% (7,087 lines)
xq30% (1,950 lines)
xaml31% (632 lines)
py8% (150 lines)
js64% (82 lines)
Duplication per Component (primary)
tools/AstVisualizer56% (6,125 lines)
Unclassified30% (1,950 lines)
tools/Explorer24% (893 lines)
tools/Graph Explorer29% (769 lines)
Extractors/Python8% (150 lines)
tools/BaseXInterface4% (14 lines)
Extractors/Go0% (0 lines)
Sample rules/C#0% (0 lines)
Sample rules/Python0% (0 lines)
Sample rules/TSQL0% (0 lines)
tools0% (0 lines)
tools/Workflows0% (0 lines)

Duplication Between Components (50+ lines)

G tools/AstVisualizer tools/AstVisualizer tools/Explorer tools/Explorer tools/AstVisualizer--tools/Explorer 664 tools/Graph Explorer tools/Graph Explorer tools/AstVisualizer--tools/Graph Explorer 99 tools/Explorer--tools/Graph Explorer 376

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 76,130 duplicates...
Size#FoldersFilesLinesCode
207 x 2 tools/AstVisualizer/AstVisualizer/Views
tools/Explorer/Views
TextMarkerService.cs
TextMarkerService.cs
1:364 (100%)
1:364 (100%)
view
72 x 2 Sample rules/X++/Prolog Extractors
Sample rules/X++/Prolog Extractors
xq
ExtractAttributesProlog.xq
ExtractMethodAttributesProlog.xq
6:86 (78%)
6:86 (78%)
view
70 x 2 Sample rules/X++/Prolog Extractors
Sample rules/X++/Prolog Extractors
xq
ExtractInterfaceAttributesProlog.xq
ExtractMethodAttributesProlog.xq
6:83 (90%)
6:83 (76%)
view
70 x 2 Sample rules/X++/Prolog Extractors
Sample rules/X++/Prolog Extractors
xq
ExtractAttributesProlog.xq
ExtractInterfaceAttributesProlog.xq
6:83 (76%)
6:83 (90%)
view
44 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++/CSV Extractors
xq
ExtractCallsApplicationFoundationCSV.xq
ExtractCallsCSV.xq
11:65 (86%)
11:65 (86%)
view
43 x 2 tools/Graph Explorer/Plugins/NodeRenderers
tools/Graph Explorer/Plugins/NodeRenderers
xaml
ClassMemberNodeRenderer.xaml
MethodNodeRenderer.xaml
2:65 (97%)
2:65 (97%)
view
37 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++/CSV Extractors
xq
ExtractCallsApplicationSuiteCSV.xq
ExtractCallsCSV.xq
18:65 (72%)
18:65 (72%)
view
37 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++/CSV Extractors
xq
ExtractCallsApplicationFoundationCSV.xq
ExtractCallsApplicationSuiteCSV.xq
18:65 (72%)
18:65 (72%)
view
36 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++/CSV Extractors
xq
ExtractCallsApplicationPlatformCSV.xq
ExtractCallsCSV.xq
19:65 (70%)
19:65 (70%)
view
36 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++/CSV Extractors
xq
ExtractCallsApplicationFoundationCSV.xq
ExtractCallsApplicationPlatformCSV.xq
19:65 (70%)
19:65 (70%)
view
36 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++/CSV Extractors
xq
ExtractCallsApplicationPlatformCSV.xq
ExtractCallsApplicationSuiteCSV.xq
19:65 (70%)
19:65 (70%)
view
32 x 2 tools/AstVisualizer/AstVisualizer/Views
tools/Explorer/Views
ITextMarker.cs
ITextMarker.cs
1:167 (100%)
1:167 (100%)
view
28 x 2 tools/Explorer/Views
tools/Explorer/Views
ResultsEditor.cs
SourceEditor.cs
111:145 (25%)
213:249 (19%)
view
26 x 2 tools/Graph Explorer/GraphExplorer/Views
tools/Graph Explorer/Plugins
JavaScriptBraceFoldingStrategy.cs
XppBraceFoldingStrategy.cs
28:80 (83%)
28:80 (83%)
view
24 x 2 tools/Graph Explorer/Plugins/NodeRenderers
tools/Graph Explorer/Plugins/NodeRenderers
xaml
ClassNodeRenderer.xaml
FormNodeRenderer.xaml
23:61 (51%)
46:84 (40%)
view
24 x 2 tools/Graph Explorer/Plugins/NodeRenderers
tools/Graph Explorer/Plugins/NodeRenderers
xaml
FormNodeRenderer.xaml
TableNodeRenderer.xaml
46:84 (40%)
23:61 (57%)
view
24 x 2 tools/Graph Explorer/Plugins/NodeRenderers
tools/Graph Explorer/Plugins/NodeRenderers
xaml
ClassNodeRenderer.xaml
TableNodeRenderer.xaml
23:61 (51%)
23:61 (57%)
view
22 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++
xq
ExtractCallsApplicationFoundationCSV.xq
CallsSummary.xq
19:45 (43%)
22:48 (53%)
view
22 x 2 tools/Explorer/Views
tools/Graph Explorer/GraphExplorer/Views
BraceFoldingStrategy.cs
JavaScriptBraceFoldingStrategy.cs
54:99 (68%)
35:80 (70%)
view
22 x 2 Sample rules/X++/CSV Extractors
Sample rules/X++
xq
ExtractCallsCSV.xq
CallsSummary.xq
19:45 (43%)
22:48 (53%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 92 unit duplicates...
Size#FoldersFilesLinesCode
61 x 2 tools/AstVisualizer/AstVisualizer/Views
tools/Explorer/Views
TextMarkerService.cs
TextMarkerService.cs
157:224 
157:224 
view
29 x 2 tools/AstVisualizer/AstVisualizer/Views
tools/Explorer/Views
TextMarkerService.cs
TextMarkerService.cs
117:146 
117:146 
view
29 x 3 tools/Explorer/Views
tools/Graph Explorer/GraphExplorer/Views
tools/Graph Explorer/Plugins
BraceFoldingStrategy.cs
JavaScriptBraceFoldingStrategy.cs
XppBraceFoldingStrategy.cs
69:100 
50:81 
50:81 
view
16 x 2 tools/Graph Explorer/Plugins/NodeRenderers
tools/Graph Explorer/Plugins/NodeRenderers
FormNodeRenderer.xaml.cs
TableNodeRenderer.xaml.cs
55:74 
55:74 
view
15 x 2 tools/AstVisualizer/AstVisualizer
tools/Explorer/Views
MainWindow.xaml.cs
ResultsEditor.cs
102:117 
183:198 
view
15 x 2 tools/AstVisualizer/AstVisualizer
tools/Explorer/Views
MainWindow.xaml.cs
QueryEditor.cs
136:151 
83:98 
view
15 x 2 tools/Graph Explorer/GraphExplorer/Views
tools/Graph Explorer/Plugins
SourceEditor.cs
SourceEditor.cs
72:88 
69:85 
view
14 x 2 tools/Explorer/TabControl
tools/Explorer/TabControl
TabControl.cs
TabControl.cs
136:150 
173:187 
view
12 x 2 tools/AstVisualizer/AstVisualizer/Views
tools/Explorer/Views
TextMarkerService.cs
TextMarkerService.cs
49:64 
49:64 
view
12 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
2158:2170 
2243:2255 
view
12 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
5547:5559 
6446:6458 
view
12 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
6749:6761 
6772:6784 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
271:282 
2456:2467 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
315:326 
469:480 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
437:448 
3223:3234 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
1330:1341 
1373:1384 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
1435:1446 
1478:1489 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
1932:1943 
8943:8954 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
2444:2455 
2874:2885 
view
11 x 2 tools/AstVisualizer/TSqlExtractor
tools/AstVisualizer/TSqlExtractor
TSQLVisitor.cs
TSQLVisitor.cs
3382:3393 
3405:3416 
view