microsoft / pxt-maker
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
  • 27% duplication:
    • 2,919 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 790 duplicated lines
  • 109 duplicates
system27% (790 lines)
Duplication per Extension
ts29% (790 lines)
Duplication per Component (primary)
libs/adafruit-metro-m0-express84% (48 lines)
libs/bead-drivers11% (45 lines)
libs/adafruit-feather-m0-express88% (45 lines)
libs/sparkfun-samd21-dev-breakout84% (44 lines)
libs/sparkfun-samd21-mini-breakout84% (44 lines)
libs/sparkfun-redboard-turbo67% (37 lines)
libs/arduino-zero87% (36 lines)
libs/arduino-mkr101075% (33 lines)
libs/arduino-mkr130069% (32 lines)
libs/rpi-pico93% (31 lines)
libs/bluepill77% (31 lines)
libs/nucleo-f411re65% (31 lines)
libs/jacdac-brain-rp204075% (30 lines)
libs/bead-brain50% (27 lines)
libs/bead-motion47% (27 lines)
libs/arduino-mkr100061% (27 lines)
libs/bead-servo76% (26 lines)
libs/bead-tattoo89% (26 lines)
libs/espressif-esp32-devkit-c60% (21 lines)
libs/jacdac-iot-s270% (21 lines)
sim/visuals6% (20 lines)
libs/adafruit-feather-m4-express34% (17 lines)
libs/adafruit-metro-m4-express29% (17 lines)
libs/adafruit-itsybitsy-m4-express35% (17 lines)
libs/adafruit-itsybitsy-m0-express22% (11 lines)
libs/bead-color66% (10 lines)
libs/bead-light66% (10 lines)
libs/xinabox-cc0363% (7 lines)
libs/bead-environment53% (7 lines)
libs/bead-proximity25% (6 lines)
libs/adafruit-circuit-playground-express12% (6 lines)
libs/adafruit-circuit-playground-bluefruit0% (0 lines)
libs/adafruit-feather-bluefruit-nrf520% (0 lines)
libs/adafruit-feather-nrf52840-express0% (0 lines)
libs/adafruit-gemma-m00% (0 lines)
libs/adafruit-grand-central-m4-express0% (0 lines)
libs/adafruit-itsybitsy-nrf52840-express0% (0 lines)
libs/adafruit-neotrellis-m4-express0% (0 lines)
libs/adafruit-trinket-m00% (0 lines)
libs/arduino-nano-33-ble-sense0% (0 lines)
libs/base---light0% (0 lines)
libs/bead0% (0 lines)
libs/blocksprj0% (0 lines)
libs/brain-nrf528400% (0 lines)
libs/controller0% (0 lines)
libs/display0% (0 lines)
libs/electroniccats-escornabot-makech0% (0 lines)
libs/electroniccats-meow-meow0% (0 lines)
libs/jacdac-brain-f40% (0 lines)
libs/jacdac-nrfbrain0% (0 lines)
libs/machachi0% (0 lines)
libs/redbear-ble-nano0% (0 lines)
libs/robotics-masters-robohatmm1-m40% (0 lines)
libs/screen---st77350% (0 lines)
libs/sparkfun-lumidrive0% (0 lines)
libs/stitchkit0% (0 lines)
libs/teknikio-bluebird0% (0 lines)
libs/xinabox-cs110% (0 lines)
scripts0% (0 lines)
sim0% (0 lines)
sim/public0% (0 lines)
ROOT0% (0 lines)
theme0% (0 lines)

Duplication Between Components (50+ lines)

G libs/sparkfun-samd21-dev-breakout libs/sparkfun-samd21-dev-breakout libs/sparkfun-samd21-mini-breakout libs/sparkfun-samd21-mini-breakout libs/sparkfun-samd21-dev-breakout--libs/sparkfun-samd21-mini-breakout 88 libs/adafruit-metro-m0-express libs/adafruit-metro-m0-express libs/adafruit-metro-m0-express--libs/sparkfun-samd21-mini-breakout 78 libs/adafruit-metro-m0-express--libs/sparkfun-samd21-dev-breakout 78 libs/sparkfun-redboard-turbo libs/sparkfun-redboard-turbo libs/adafruit-metro-m0-express--libs/sparkfun-redboard-turbo 66 libs/arduino-zero libs/arduino-zero libs/adafruit-metro-m0-express--libs/arduino-zero 52 libs/adafruit-feather-m0-express libs/adafruit-feather-m0-express libs/adafruit-feather-m0-express--libs/adafruit-metro-m0-express 70 libs/adafruit-feather-m0-express--libs/sparkfun-samd21-dev-breakout 66 libs/adafruit-feather-m0-express--libs/sparkfun-samd21-mini-breakout 66 libs/adafruit-feather-m0-express--libs/arduino-zero 56 libs/arduino-zero--libs/sparkfun-redboard-turbo 68 libs/arduino-zero--libs/sparkfun-samd21-dev-breakout 52 libs/arduino-zero--libs/sparkfun-samd21-mini-breakout 52 libs/sparkfun-redboard-turbo--libs/sparkfun-samd21-mini-breakout 54 libs/sparkfun-redboard-turbo--libs/sparkfun-samd21-dev-breakout 54 libs/arduino-mkr1010 libs/arduino-mkr1010 libs/arduino-mkr1300 libs/arduino-mkr1300 libs/arduino-mkr1010--libs/arduino-mkr1300 64 libs/bluepill libs/bluepill libs/nucleo-f411re libs/nucleo-f411re libs/bluepill--libs/nucleo-f411re 62 libs/jacdac-brain-rp2040 libs/jacdac-brain-rp2040 libs/rpi-pico libs/rpi-pico libs/jacdac-brain-rp2040--libs/rpi-pico 60 libs/bead-brain libs/bead-brain libs/bead-motion libs/bead-motion libs/bead-brain--libs/bead-motion 54 libs/arduino-mkr1000 libs/arduino-mkr1000 libs/arduino-mkr1000--libs/arduino-mkr1010 54 libs/arduino-mkr1000--libs/arduino-mkr1300 52 libs/bead-servo libs/bead-servo libs/bead-tattoo libs/bead-tattoo libs/bead-servo--libs/bead-tattoo 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 109 duplicates...
Size#FoldersFilesLinesCode
31 x 2 libs/bluepill
libs/nucleo-f411re
config.ts
config.ts
1:33 (77%)
1:32 (65%)
view
30 x 2 libs/jacdac-brain-rp2040
libs/rpi-pico
config.ts
config.ts
9:40 (75%)
2:33 (90%)
view
28 x 2 libs/arduino-zero
libs/sparkfun-redboard-turbo
config.ts
config.ts
4:36 (68%)
5:35 (62%)
view
27 x 2 libs/bead-brain
libs/bead-motion
config.ts
config.ts
2:38 (100%)
2:38 (100%)
view
26 x 2 libs/bead-servo
libs/bead-tattoo
config.ts
config.ts
1:32 (100%)
1:32 (100%)
view
23 x 2 libs/arduino-mkr1010
libs/arduino-mkr1300
config.ts
config.ts
4:28 (52%)
4:28 (50%)
view
23 x 2 libs/sparkfun-samd21-dev-breakout
libs/sparkfun-samd21-mini-breakout
config.ts
config.ts
31:57 (45%)
32:58 (45%)
view
22 x 2 libs/adafruit-feather-m0-express
libs/adafruit-metro-m0-express
config.ts
config.ts
1:24 (43%)
1:24 (38%)
view
21 x 2 libs/adafruit-feather-m0-express
libs/arduino-zero
config.ts
config.ts
4:25 (41%)
4:27 (51%)
view
21 x 2 libs/espressif-esp32-devkit-c
libs/jacdac-iot-s2
config.ts
config.ts
1:21 (60%)
1:21 (70%)
view
21 x 2 libs/arduino-mkr1000
libs/arduino-mkr1010
config.ts
config.ts
9:36 (47%)
8:29 (47%)
view
21 x 2 libs/sparkfun-samd21-dev-breakout
libs/sparkfun-samd21-mini-breakout
config.ts
config.ts
1:22 (41%)
1:23 (41%)
view
21 x 2 libs/adafruit-feather-m0-express
libs/sparkfun-redboard-turbo
config.ts
config.ts
4:25 (41%)
5:27 (46%)
view
20 x 2 libs/adafruit-metro-m0-express
libs/sparkfun-samd21-mini-breakout
config.ts
config.ts
4:24 (35%)
2:23 (39%)
view
20 x 2 libs/arduino-zero
libs/sparkfun-samd21-dev-breakout
config.ts
config.ts
4:25 (48%)
2:22 (39%)
view
20 x 2 libs/adafruit-feather-m0-express
libs/sparkfun-samd21-dev-breakout
config.ts
config.ts
4:24 (39%)
2:22 (39%)
view
20 x 2 libs/adafruit-metro-m0-express
libs/arduino-zero
config.ts
config.ts
4:24 (35%)
4:25 (48%)
view
20 x 2 libs/adafruit-metro-m0-express
libs/sparkfun-samd21-dev-breakout
config.ts
config.ts
4:24 (35%)
2:22 (39%)
view
20 x 2 libs/arduino-mkr1000
libs/arduino-mkr1300
config.ts
config.ts
9:32 (45%)
8:28 (43%)
view
20 x 2 libs/adafruit-feather-m0-express
libs/sparkfun-samd21-mini-breakout
config.ts
config.ts
4:24 (39%)
2:23 (39%)
view