microsoft / vscode-languageserver-node
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
  • 6% duplication:
    • 16,002 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,102 duplicated lines
  • 118 duplicates
system6% (1,102 lines)
Duplication per Extension
ts6% (1,057 lines)
yml46% (45 lines)
Duplication per Component (primary)
client/src4% (309 lines)
jsonrpc/src9% (255 lines)
server/src11% (221 lines)
testbed/server20% (134 lines)
types/src5% (78 lines)
build/azure-pipelines62% (45 lines)
protocol/src2% (34 lines)
textDocument/src15% (26 lines)
ROOT0% (0 lines)
build/npm0% (0 lines)
client0% (0 lines)
jsonrpc0% (0 lines)
protocol0% (0 lines)
server0% (0 lines)
testbed/client0% (0 lines)

Duplication Between Components (50+ lines)

G client/src client/src server/src server/src client/src--server/src 170 protocol/src protocol/src client/src--protocol/src 68 textDocument/src textDocument/src types/src types/src textDocument/src--types/src 52

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 118 duplicates...
Size#FoldersFilesLinesCode
27 x 2 client/src/common/utils
server/src/common/utils
uuid.ts
uuid.ts
53:79 (40%)
53:79 (40%)
view
26 x 2 testbed/server/src
testbed/server/src
fullNotebookServer.ts
simpleNotebookServer.ts
5:40 (36%)
5:40 (41%)
view
24 x 2 client/src/common/utils
server/src/common/utils
uuid.ts
uuid.ts
9:55 (35%)
9:55 (35%)
view
19 x 2 testbed/server/src
testbed/server/src
server.ts
simpleNotebookServer.ts
296:317 (3%)
16:37 (30%)
view
19 x 2 testbed/server/src
testbed/server/src
fullNotebookServer.ts
server.ts
16:37 (26%)
296:317 (3%)
view
19 x 2 client/src/common/utils
server/src/common/utils
uuid.ts
uuid.ts
80:118 (28%)
80:118 (28%)
view
18 x 2 client/src/common/utils
server/src/common/utils
is.ts
is.ts
6:39 (60%)
6:39 (100%)
view
16 x 2 client/src/common/utils
protocol/src/common/utils
is.ts
is.ts
6:35 (53%)
7:36 (84%)
view
16 x 2 protocol/src/common/utils
server/src/common/utils
is.ts
is.ts
7:36 (84%)
6:35 (88%)
view
15 x 2 build/azure-pipelines/darwin
build/azure-pipelines/linux
build.yml
build.yml
2:20 (83%)
11:29 (57%)
view
14 x 2 jsonrpc/src/common
server/src/common/utils
is.ts
is.ts
6:31 (100%)
6:31 (77%)
view
14 x 2 server/src/common
server/src/common
server.ts
server.ts
781:808 (1%)
823:850 (1%)
view
14 x 2 jsonrpc/src/common
protocol/src/common/utils
is.ts
is.ts
6:31 (100%)
7:32 (73%)
view
14 x 2 client/src/common/utils
jsonrpc/src/common
is.ts
is.ts
6:31 (46%)
6:31 (100%)
view
14 x 2 testbed/server/src
testbed/server/src
fullNotebookServer.ts
simpleNotebookServer.ts
58:74 (19%)
68:84 (22%)
view
12 x 2 jsonrpc/src/common
jsonrpc/src/common
connection.ts
connection.ts
953:966 (1%)
1013:1026 (1%)
view
12 x 2 client/src/common
protocol/src/common
proposed.diagnostic.ts
proposed.diagnostic.ts
42:58 (2%)
166:232 (14%)
view
11 x 2 client/src/node
client/src/node
main.ts
main.ts
473:484 (2%)
487:498 (2%)
view
11 x 2 textDocument/src
types/src
main.ts
main.ts
293:306 (6%)
4105:4118 (<1%)
view
10 x 2 server/src/common
server/src/common
server.ts
server.ts
263:282 (1%)
744:763 (1%)
view
Duplicated Units
The list of top 9 duplicated units.
See data for all 9 unit duplicates...
Size#FoldersFilesLinesCode
39 x 2 client/src/common/utils
server/src/common/utils
uuid.ts
uuid.ts
48:87 
48:87 
view
15 x 3 testbed/server/src
testbed/server/src
testbed/server/src
fullNotebookServer.ts
server.ts
simpleNotebookServer.ts
23:38 
303:318 
23:38 
view
12 x 2 client/src/common
client/src/common
codeConverter.ts
protocolConverter.ts
460:472 
310:322 
view
10 x 2 client/src/common
client/src/node
client.ts
main.ts
3560:3570 
525:535 
view
10 x 2 textDocument/src
types/src
main.ts
main.ts
293:303 
4105:4115 
view
7 x 2 client/src/common
client/src/common
codeConverter.ts
codeConverter.ts
269:276 
294:301 
view
6 x 2 client/src/common
client/src/common
client.ts
client.ts
1009:1015 
1405:1411 
view
6 x 2 client/src/common
client/src/common
codeConverter.ts
codeConverter.ts
261:267 
278:284 
view
6 x 2 textDocument/src
types/src
main.ts
main.ts
192:198 
4024:4030 
view