microsoft / Kusto-Query-Language
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
  • 10% duplication:
    • 43,995 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,427 duplicated lines
  • 985 duplicates
system10% (4,427 lines)
Duplication per Extension
cs10% (4,427 lines)
Duplication per Component (primary)
Kusto.Language/Syntax18% (1,929 lines)
Kusto.Language/Parser12% (1,568 lines)
Kusto.Language5% (411 lines)
Kusto.Language/Binder4% (279 lines)
Kusto.Language/Symbols9% (184 lines)
Kusto.Language/Editor<1% (34 lines)
Kusto.Language/Utils3% (22 lines)
Kusto.Language.Bridge0% (0 lines)
Kusto.Language/Diagnostics0% (0 lines)
Kusto.Language/Properties0% (0 lines)
Kusto.Language/Semantics0% (0 lines)

Duplication Between Components (50+ lines)

G Kusto.Language Kusto.Language Kusto.Language/Symbols Kusto.Language/Symbols Kusto.Language--Kusto.Language/Symbols 92

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 985 duplicates...
Size#FoldersFilesLinesCode
71 x 2 src/Kusto.Language/Parser
src/Kusto.Language/Parser
QueryParser.cs
QueryParser.cs
1982:2053 (2%)
5430:5501 (2%)
view
34 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
1171:1213 (1%)
1251:1293 (1%)
view
32 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
6906:6955 (<1%)
6991:7040 (<1%)
view
32 x 2 src/Kusto.Language
src/Kusto.Language/Symbols
Operators.cs
OperatorKind.cs
347:378 (10%)
26:57 (55%)
view
30 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
1098:1135 (1%)
1251:1288 (1%)
view
30 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
1098:1135 (1%)
1171:1208 (1%)
view
27 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
6124:6173 (<1%)
6379:6428 (<1%)
view
26 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
1032:1064 (1%)
1098:1130 (1%)
view
26 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
1032:1064 (1%)
1251:1283 (1%)
view
26 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
1032:1064 (1%)
1171:1203 (1%)
view
24 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
9673:9711 (<1%)
11710:11748 (<1%)
view
24 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
2018:2059 (<1%)
2190:2231 (<1%)
view
24 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
2104:2145 (<1%)
2190:2231 (<1%)
view
24 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
2018:2059 (<1%)
2104:2145 (<1%)
view
23 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
11710:11747 (<1%)
12871:12908 (<1%)
view
23 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
9673:9710 (<1%)
12871:12908 (<1%)
view
23 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
GeneratedCslTree.cs
GeneratedCslTree.cs
1933:1973 (<1%)
2276:2316 (<1%)
view
22 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
973:1000 (1%)
1032:1059 (1%)
view
22 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
973:1000 (1%)
1098:1125 (1%)
view
22 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeParse.cs
SafeParse.cs
235:273 (6%)
279:317 (6%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 90 unit duplicates...
Size#FoldersFilesLinesCode
40 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeScan.cs
SafeScan.cs
204:245 
247:288 
view
38 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeParse.cs
SafeParse.cs
233:275 
277:319 
view
33 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeParse.cs
SafeParse.cs
332:367 
369:404 
view
32 x 2 src/Kusto.Language/Parser/Grammars
src/Kusto.Language/Parser/Grammars
GrammarWriter.cs
GrammarWriter.cs
68:105 
243:280 
view
30 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeScan.cs
SafeScan.cs
334:365 
367:398 
view
27 x 2 src/Kusto.Language/Syntax/CodeGen
src/Kusto.Language/Syntax/CodeGen
CslTreeGenerator.cs
CslTreeGenerator.cs
335:364 
366:395 
view
26 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeScan.cs
SafeScan.cs
414:440 
442:468 
view
22 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeParse.cs
SafeParse.cs
421:444 
446:469 
view
21 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeScan.cs
SafeScan.cs
599:622 
624:647 
view
20 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeParse.cs
SafeParse.cs
526:546 
574:594 
view
19 x 2 src/Kusto.Language/Binder
src/Kusto.Language/Binder
Binder_NodeBinder.cs
Binder_NodeBinder.cs
370:391 
393:414 
view
19 x 2 src/Kusto.Language/Editor/Kusto
src/Kusto.Language/Editor/Kusto
KustoCompleter.cs
KustoCompleter.cs
2624:2646 
2648:2670 
view
17 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
SafeScan.cs
SafeScan.cs
547:564 
580:597 
view
15 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
2104:2122 
3271:3289 
view
14 x 2 src/Kusto.Language/Binder
src/Kusto.Language/Binder
Binder_TreeBinder.cs
Binder_TreeBinder.cs
770:786 
788:804 
view
14 x 2 src/Kusto.Language/Diagnostics
src/Kusto.Language/Diagnostics
DiagnosticFacts.cs
DiagnosticFacts.cs
287:301 
303:317 
view
14 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
1757:1775 
3047:3065 
view
14 x 2 src/Kusto.Language/Parser/Combinators
src/Kusto.Language/Parser/Combinators
Parsers.cs
Parsers.cs
2191:2207 
2388:2404 
view
13 x 2 src/Kusto.Language/Binder
src/Kusto.Language/Binder
Binder_ContextBuilder.cs
Binder_TreeBinder.cs
447:461 
40:53 
view
12 x 2 src/Kusto.Language/Binder
src/Kusto.Language/Binder
Binder_NodeBinder.cs
Binder_NodeBinder.cs
219:231 
847:860 
view