microsoft / SandDance
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:
    • 17,979 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,231 duplicated lines
  • 144 duplicates
system6% (1,231 lines)
Duplication per Extension
ts10% (1,008 lines)
tsx2% (156 lines)
scss4% (46 lines)
js9% (21 lines)
Duplication per Component (primary)
packages/sanddance-specs18% (811 lines)
packages/sanddance-explorer1% (130 lines)
packages/sanddance-app9% (91 lines)
packages/vega-deck.gl2% (43 lines)
python/jupyter-widget4% (33 lines)
packages/powerbi5% (32 lines)
extensions/common-frontend13% (24 lines)
packages/sanddance-embed13% (16 lines)
extensions/azdata-sanddance14% (15 lines)
extensions/vscode-sanddance39% (15 lines)
packages/sanddance-react8% (7 lines)
packages/chart-recommender4% (7 lines)
packages/sanddance<1% (7 lines)
ROOT0% (0 lines)
extensions/common-backend0% (0 lines)
packages/chart-types0% (0 lines)
packages/sanddance-vue0% (0 lines)
packages/search-expression0% (0 lines)
scripts0% (0 lines)
typedoc/theme0% (0 lines)

Duplication Between Components (50+ lines)

G packages/sanddance-app packages/sanddance-app python/jupyter-widget python/jupyter-widget packages/sanddance-app--python/jupyter-widget 66 packages/powerbi packages/powerbi packages/powerbi--packages/sanddance-app 64 packages/powerbi--python/jupyter-widget 64

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 144 duplicates...
Size#FoldersFilesLinesCode
33 x 2 packages/sanddance-app/src
python/jupyter-widget/src
fluentUIComponents.ts
fluentUIComponents.ts
4:55 (100%)
4:55 (100%)
view
30 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
barchartH.ts
density.ts
143:180 (20%)
146:183 (20%)
view
27 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
density.ts
stacks.ts
22:48 (18%)
17:43 (34%)
view
26 x 2 packages/powerbi/src
packages/sanddance-app/src
fluentUIComponents.ts
fluentUIComponents.ts
31:56 (78%)
30:55 (78%)
view
26 x 2 packages/powerbi/src
python/jupyter-widget/src
fluentUIComponents.ts
fluentUIComponents.ts
31:56 (78%)
30:55 (78%)
view
25 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
barchartV.ts
density.ts
147:179 (16%)
151:183 (16%)
view
25 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
barchartH.ts
barchartV.ts
148:180 (16%)
147:179 (16%)
view
19 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
grid.ts
strips.ts
32:56 (48%)
60:84 (29%)
view
18 x 2 packages/sanddance-app/src
packages/sanddance-app/src
dataSourcePicker.tsx
snapshots.tsx
232:250 (7%)
223:241 (7%)
view
16 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
strips.ts
treemap.ts
28:44 (24%)
28:44 (24%)
view
16 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
stacks.ts
strips.ts
80:101 (20%)
63:84 (24%)
view
16 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
barchartH.ts
barchartV.ts
123:141 (10%)
122:140 (10%)
view
16 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
grid.ts
stacks.ts
35:56 (41%)
80:101 (20%)
view
15 x 2 packages/sanddance-specs/src/layouts
packages/sanddance-specs/src/layouts
aggregateContainer.ts
aggregateSquare.ts
190:208 (8%)
88:106 (18%)
view
13 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
density.ts
stacks.ts
137:151 (8%)
66:80 (16%)
view
12 x 2 packages/sanddance-explorer/src/controls
packages/sanddance-explorer/src/dialogs
searchTerm.tsx
search.tsx
80:92 (6%)
90:103 (4%)
view
12 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
barchartH.ts
barchartH.ts
88:99 (8%)
104:115 (8%)
view
12 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
barchartV.ts
density.ts
73:85 (8%)
71:83 (8%)
view
12 x 2 packages/sanddance-specs/src/layouts
packages/sanddance-specs/src/layouts
square.ts
strip.ts
93:110 (7%)
137:155 (8%)
view
11 x 2 packages/sanddance-specs/src/charts
packages/sanddance-specs/src/charts
barchartV.ts
stacks.ts
20:30 (7%)
33:43 (13%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
10 x 2 packages/sanddance-specs/src/layouts
packages/sanddance-specs/src/layouts
aggregateContainer.ts
aggregateSquare.ts
199:209 
97:107 
view
9 x 2 packages/chart-recommender/src
packages/sanddance-explorer/src
recommender.ts
colorScheme.ts
21:30 
15:24 
view
8 x 2 extensions/common-frontend/src
packages/sanddance-app/src
app.tsx
sanddanceApp.tsx
107:115 
114:122 
view