microsoft / vscode-python
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
  • 4% duplication:
    • 30,845 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,540 duplicated lines
  • 113 duplicates
system4% (1,540 lines)
Duplication per Extension
ts4% (1,274 lines)
py10% (216 lines)
js13% (50 lines)
Duplication per Component (primary)
src/client4% (1,274 lines)
src/testMultiRootWkspc58% (200 lines)
ROOT16% (50 lines)
pythonFiles/testing_tools1% (16 lines)
build/ci0% (0 lines)
build0% (0 lines)
data0% (0 lines)
news0% (0 lines)
pythonFiles0% (0 lines)
pythonFiles/jedilsp_requirements0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 113 duplicates...
Size#FoldersFilesLinesCode
40 x 2 src/testMultiRootWkspc/workspace2
src/testMultiRootWkspc/workspace3
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace3
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/workspace1
src/testMultiRootWkspc/workspace2
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/workspace1
src/testMultiRootWkspc/workspace3
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace2
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/workspace3
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/workspace2
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/parent/child
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace1
file.py
file.py
3:87 (100%)
3:87 (100%)
view
40 x 2 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/workspace1
file.py
file.py
3:87 (100%)
3:87 (100%)
view
26 x 2 src/client/browser
src/client/telemetry
extension.ts
index.ts
161:193 (18%)
109:141 (5%)
view
19 x 2 src/client/activation/common
src/client/activation/none
activatorBase.ts
activator.ts
5:40 (8%)
5:34 (26%)
view
18 x 2 src/client/activation/common
src/client/activation
activatorBase.ts
refCountedLanguageServer.ts
5:22 (7%)
4:21 (20%)
view
18 x 2 src/client/activation/none
src/client/activation
activator.ts
refCountedLanguageServer.ts
5:22 (25%)
4:21 (20%)
view
17 x 2 src/client/pythonEnvironments/base/info
src/client/pythonEnviron...base/locators/composite
envKind.ts
envsReducer.ts
59:75 (47%)
161:177 (16%)
view
16 x 2 src/client/testing/testController
src/client/testing/testController
controller.ts
controller.ts
314:329 (6%)
343:358 (6%)
view
15 x 2 src/client/testing/testController/pytest
src/client/testing/testController/unittest
pytestController.ts
unittestController.ts
48:67 (6%)
46:65 (5%)
view
13 x 2 src/client/common/application
src/client/common/application
applicationShell.ts
types.ts
16:28 (10%)
27:39 (5%)
view
12 x 2 src/client/testing/testController/pytest
src/client/testing/testController/unittest
pytestController.ts
unittestController.ts
168:183 (5%)
110:125 (4%)
view
12 x 2 src/client/browser
src/client/telemetry
extension.ts
index.ts
200:215 (8%)
147:162 (2%)
view
Duplicated Units
The list of top 13 duplicated units.
See data for all 13 unit duplicates...
Size#FoldersFilesLinesCode
18 x 2 src/client/pythonEnvironments/base/info
src/client/pythonEnviron...base/locators/composite
envKind.ts
envsReducer.ts
58:76 
160:178 
view
14 x 2 src/client/pythonEnviron.../base/locators/lowLevel
src/client/pythonEnviron.../base/locators/lowLevel
customVirtualEnvLocator.ts
globalVirtualEnvronmentLocator.ts
58:76 
62:80 
view
9 x 2 src/client/activation
src/client/activation
languageClientMiddlewareBase.ts
languageClientMiddlewareBase.ts
196:205 
207:216 
view
9 x 2 src/client/activation
src/client/activation
languageClientMiddlewareBase.ts
languageClientMiddlewareBase.ts
218:227 
229:238 
view
9 x 2 src/client/testing/common
src/client/testing/common
configSettingService.ts
configSettingService.ts
32:41 
44:53 
view
8 x 2 src/client/debugger/exte...configuration/providers
src/client/debugger/exte...configuration/providers
fastapiLaunch.ts
flaskLaunch.ts
61:69 
65:73 
view
6 x 2 src/client/activation/none
src/client/activation/none
activator.ts
activator.ts
52:58 
59:65 
view
13 x 5 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace1
src/testMultiRootWkspc/workspace2
src/testMultiRootWkspc/workspace3
file.py
file.py
file.py
file.py
file.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
13 x 5 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace1
src/testMultiRootWkspc/workspace2
src/testMultiRootWkspc/workspace3
file.py
file.py
file.py
file.py
file.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
9 x 5 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace1
src/testMultiRootWkspc/workspace2
src/testMultiRootWkspc/workspace3
file.py
file.py
file.py
file.py
file.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 2 src/client/common/process/internal
src/client/common/process/internal
python.ts
python.ts
30:38 
40:48 
view
8 x 5 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace1
src/testMultiRootWkspc/workspace2
src/testMultiRootWkspc/workspace3
file.py
file.py
file.py
file.py
file.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
7 x 5 src/testMultiRootWkspc/disableLinters
src/testMultiRootWkspc/parent/child
src/testMultiRootWkspc/workspace1
src/testMultiRootWkspc/workspace2
src/testMultiRootWkspc/workspace3
file.py
file.py
file.py
file.py
file.py
0:0 
0:0 
0:0 
0:0 
0:0 
view