microsoft / pxt-common-packages
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (82 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 82 components.
  • 452 files, 46,664 lines of code (100.0% vs. main code).
  • "libs/game" is biggest, containing 18.9% of code.
  • "libs/mixer---nrf52" is smallest, containing 0.02% of code.


libs/game8818 LOC (18%) 47 files
libs/base6157 LOC (13%) 35 files
libs/core3485 LOC (7%) 45 files
libs/core---vm2440 LOC (5%) 11 files
libs/screen2406 LOC (5%) 14 files
libs/storage1412 LOC (3%) 8 files
libs/settings1288 LOC (2%) 10 files
libs/esp321163 LOC (2%) 5 files
libs/light1149 LOC (2%) 11 files
libs/core---esp321073 LOC (2%) 15 files
libs/screen---st77351033 LOC (2%) 9 files
libs/mixer949 LOC (2%) 8 files
libs/wifi---esp32851 LOC (1%) 6 files
libs/radio775 LOC (1%) 6 files
libs/core---linux741 LOC (1%) 11 files
libs/net665 LOC (1%) 5 files
libs/lcd654 LOC (1%) 8 files
libs/accelerometer616 LOC (1%) 8 files
scripts/font-compiler612 LOC (1%) 4 files
libs/lora558 LOC (1%) 2 files
libs/mqtt499 LOC (1%) 3 files
libs/pulse475 LOC (1%) 4 files
libs/music440 LOC (<1%) 9 files
scripts/snorfs409 LOC (<1%) 4 files
libs/azureiot393 LOC (<1%) 2 files
scripts/raffs357 LOC (<1%) 6 files
libs/core---stm32336 LOC (<1%) 2 files
libs/display327 LOC (<1%) 4 files
libs/core---samd321 LOC (<1%) 2 files
libs/serial309 LOC (<1%) 7 files
libs/color-coded-tilemap276 LOC (<1%) 1 files
libs/serial---linux271 LOC (<1%) 3 files
libs/controller266 LOC (<1%) 9 files
libs/screen---linux248 LOC (<1%) 2 files
libs/keyboard247 LOC (<1%) 4 files
libs/color227 LOC (<1%) 2 files
libs/storyboard219 LOC (<1%) 3 files
libs/animation214 LOC (<1%) 3 files
libs/light-spectrum-sensor211 LOC (<1%) 3 files
libs/core---nrf52206 LOC (<1%) 2 files
libs/buttons189 LOC (<1%) 3 files
cpptests/screen173 LOC (<1%) 5 files
libs/settings---files171 LOC (<1%) 1 files
libs/color-sensor165 LOC (<1%) 3 files
libs/datalogger149 LOC (<1%) 4 files
libs/cable144 LOC (<1%) 4 files
libs/infrared144 LOC (<1%) 4 files
libs/touch138 LOC (<1%) 6 files
libs/net-game136 LOC (<1%) 1 files
cpptests133 LOC (<1%) 1 files
libs/settings---esp32133 LOC (<1%) 1 files
libs/screen---ext123 LOC (<1%) 2 files
libs/thermometer111 LOC (<1%) 6 files
libs/microphone101 LOC (<1%) 6 files
libs/gamepad99 LOC (<1%) 5 files
libs/matrix-keypad98 LOC (<1%) 2 files
libs/lightsensor97 LOC (<1%) 5 files
libs/proximity92 LOC (<1%) 2 files
libs/edge-connector90 LOC (<1%) 1 files
libs/music---linux90 LOC (<1%) 1 files
libs/servo90 LOC (<1%) 3 files
libs/rotary-encoder88 LOC (<1%) 4 files
libs/text-to-speech86 LOC (<1%) 2 files
libs/core---rp204075 LOC (<1%) 2 files
libs/sprite-scaling75 LOC (<1%) 3 files
libs/mixer---linux69 LOC (<1%) 4 files
libs/mouse69 LOC (<1%) 4 files
libs/game---light66 LOC (<1%) 1 files
libs/switch64 LOC (<1%) 4 files
libs/palette55 LOC (<1%) 2 files
libs/mixer---ext39 LOC (<1%) 4 files
libs/controller---none34 LOC (<1%) 1 files
libs/pixel34 LOC (<1%) 1 files
libs/power31 LOC (<1%) 1 files
libs/music---pwm22 LOC (<1%) 1 files
scripts19 LOC (<1%) 1 files
libs/mixer---rp204014 LOC (<1%) 1 files
libs/mixer---samd14 LOC (<1%) 1 files
libs/mixer---stm3214 LOC (<1%) 1 files
libs/radio-broadcast12 LOC (<1%) 1 files
libs/mixer---none11 LOC (<1%) 3 files
libs/mixer---nrf5211 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-30 14:49