microsoft / sql-server-language-extensions
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
  • 24% duplication:
    • 11,811 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,835 duplicated lines
  • 1,209 duplicates
system24% (2,835 lines)
Duplication per Extension
cpp23% (1,703 lines)
h34% (718 lines)
cmd37% (216 lines)
cs11% (114 lines)
inl12% (84 lines)
Duplication per Component (primary)
language-extensions/python/src32% (657 lines)
language-extensions/R/src25% (599 lines)
language-extensions/java/src15% (350 lines)
language-extensions/java/include22% (303 lines)
language-extensions/dotnet-core-CSharp/src17% (211 lines)
language-extensions/R/include34% (206 lines)
language-extensions/python/include38% (198 lines)
language-extensions/java/build35% (56 lines)
language-extensions/python/build37% (56 lines)
language-extensions/dotnet-core-CSharp/build42% (55 lines)
extension-host/include44% (52 lines)
language-extensions/R/build36% (49 lines)
language-extensions/dotnet-core-CSharp/include22% (43 lines)
language-extensions/R/common0% (0 lines)
language-extensions/dotnet-core-CSharp/sample0% (0 lines)
language-extensions/java/sdk0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G language-extensions/R/src language-extensions/R/src language-extensions/python/src language-extensions/python/src language-extensions/R/src--language-extensions/python/src 756 language-extensions/dotnet-core-CSharp/src language-extensions/dotnet-core-CSharp/src language-extensions/R/src--language-extensions/dotnet-core-CSharp/src 258 language-extensions/python/include language-extensions/python/include language-extensions/R/src--language-extensions/python/include 160 language-extensions/dotnet-core-CSharp/include language-extensions/dotnet-core-CSharp/include language-extensions/R/src--language-extensions/dotnet-core-CSharp/include 74 language-extensions/java/src language-extensions/java/src language-extensions/R/src--language-extensions/java/src 66 language-extensions/R/include language-extensions/R/include language-extensions/R/include--language-extensions/python/include 301 language-extensions/R/include--language-extensions/R/src 210 language-extensions/R/include--language-extensions/python/src 142 language-extensions/java/include language-extensions/java/include language-extensions/R/include--language-extensions/java/include 117 language-extensions/R/include--language-extensions/dotnet-core-CSharp/src 72 language-extensions/python/include--language-extensions/python/src 219 language-extensions/java/include--language-extensions/java/src 292 language-extensions/java/include--language-extensions/python/include 93 language-extensions/java/src--language-extensions/python/src 60 language-extensions/dotnet-core-CSharp/src--language-extensions/python/src 229 language-extensions/dotnet-core-CSharp/src--language-extensions/python/include 60 language-extensions/java/build language-extensions/java/build language-extensions/python/build language-extensions/python/build language-extensions/java/build--language-extensions/python/build 112 extension-host/include extension-host/include extension-host/include--language-extensions/java/src 104 language-extensions/R/build language-extensions/R/build language-extensions/dotnet-core-CSharp/build language-extensions/dotnet-core-CSharp/build language-extensions/R/build--language-extensions/dotnet-core-CSharp/build 88 language-extensions/R/build--language-extensions/java/build 86 language-extensions/R/build--language-extensions/python/build 86 language-extensions/dotnet-core-CSharp/build--language-extensions/java/build 76 language-extensions/dotnet-core-CSharp/build--language-extensions/python/build 76 language-extensions/dotnet-core-CSharp/include--language-extensions/python/src 83 language-extensions/dotnet-core-CSharp/include--language-extensions/dotnet-core-CSharp/src 66

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 1,209 duplicates...
Size#FoldersFilesLinesCode
26 x 2 language-extensions/R/include
language-extensions/java/include
RSession.h
JavaSession.h
56:87 (35%)
67:98 (21%)
view
23 x 2 language-extensions/R/include
language-extensions/java/include
RSession.h
JavaSession.h
91:129 (31%)
102:140 (19%)
view
21 x 2 language-extensions/R/include
language-extensions/python/include
RSession.h
PythonSession.h
96:129 (28%)
70:103 (30%)
view
21 x 2 language-extensions/java/include
language-extensions/python/include
JavaSession.h
PythonSession.h
107:140 (17%)
70:103 (30%)
view
20 x 2 language-extensions/R/include
language-extensions/python/include
RSession.h
PythonSession.h
66:91 (27%)
40:65 (29%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
106:124 (4%)
529:547 (4%)
view
18 x 2 language-extensions/python/src
language-extensions/python/src
PythonParam.cpp
PythonParam.cpp
387:405 (4%)
482:500 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
220:238 (4%)
328:346 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
220:238 (4%)
417:435 (4%)
view
18 x 2 language-extensions/python/src
language-extensions/python/src
PythonParam.cpp
PythonParam.cpp
168:186 (4%)
482:500 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
106:124 (4%)
417:435 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
106:124 (4%)
328:346 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
328:346 (4%)
417:435 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
220:238 (4%)
529:547 (4%)
view
18 x 2 language-extensions/python/src
language-extensions/python/src
PythonParam.cpp
PythonParam.cpp
168:186 (4%)
387:405 (4%)
view
18 x 2 language-extensions/python/src
language-extensions/python/src
PythonParam.cpp
PythonParam.cpp
238:256 (4%)
482:500 (4%)
view
18 x 2 language-extensions/python/src
language-extensions/python/src
PythonParam.cpp
PythonParam.cpp
238:256 (4%)
387:405 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
106:124 (4%)
220:238 (4%)
view
18 x 2 language-extensions/python/src
language-extensions/python/src
PythonParam.cpp
PythonParam.cpp
168:186 (4%)
238:256 (4%)
view
18 x 2 language-extensions/R/src
language-extensions/R/src
RParam.cpp
RParam.cpp
417:435 (4%)
529:547 (4%)
view
Duplicated Units
The list of top 8 duplicated units.
See data for all 8 unit duplicates...
Size#FoldersFilesLinesCode
25 x 2 language-extensions/R/src
language-extensions/python/src
RSession.cpp
PythonSession.cpp
106:138 
78:110 
view
18 x 2 language-extensions/R/src
language-extensions/python/src
RDataSet.cpp
PythonDataSet.cpp
861:884 
1526:1549 
view
16 x 2 language-extensions/R/src
language-extensions/python/src
RSession.cpp
PythonSession.cpp
292:309 
286:303 
view
13 x 2 language-extensions/R/src
language-extensions/python/src
RDataSet.cpp
PythonDataSet.cpp
894:909 
1559:1574 
view
11 x 3 language-extensions/R/include
language-extensions/R/include
language-extensions/python/include
RParam.h
RParam.h
PythonParam.h
184:195 
255:266 
177:188 
view
11 x 2 language-extensions/dotnet-core-CSharp/src/managed
language-extensions/dotnet-core-CSharp/src/managed
CSharpOutputDataSet.cs
CSharpParamContainer.cs
98:110 
221:233 
view
10 x 2 language-extensions/R/src
language-extensions/python/src/linux
Utilities.cpp
PythonExtensionUtils_linux.cpp
67:79 
55:70 
view
6 x 2 language-extensions/R/src
language-extensions/python/src
RSession.cpp
PythonSession.cpp
346:353 
345:353 
view