facebookexperimental / fb-vscode
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 (38 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 12 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 38 components.
  • 2,047 files, 400,072 lines of code (100.0% vs. main code).
  • "src/vs" is biggest, containing 86.72% of code.
  • "extensions/objective-c" is smallest, containing 0% of code.


src/vs346944 LOC (86%) 1672 files
build/lib9374 LOC (2%) 52 files
extensions/typescript-language-features8244 LOC (2%) 90 files
extensions/php-language-features7019 LOC (1%) 9 files
extensions/git6333 LOC (1%) 20 files
extensions/markdown-language-features3213 LOC (<1%) 44 files
extensions/emmet2599 LOC (<1%) 22 files
extensions/html-language-features2177 LOC (<1%) 19 files
build/azure-pipelines1996 LOC (<1%) 28 files
build1866 LOC (<1%) 10 files
extensions/npm1547 LOC (<1%) 9 files
build/monaco1145 LOC (<1%) 2 files
build/win321020 LOC (<1%) 1 files
extensions/merge-conflict990 LOC (<1%) 11 files
extensions/css-language-features896 LOC (<1%) 9 files
extensions/json-language-features859 LOC (<1%) 6 files
src541 LOC (<1%) 7 files
extensions/extension-editing461 LOC (<1%) 3 files
build/npm460 LOC (<1%) 7 files
extensions/configuration-editing362 LOC (<1%) 2 files
extensions/theme-seti346 LOC (<1%) 1 files
extensions/gulp305 LOC (<1%) 1 files
extensions/jake305 LOC (<1%) 1 files
extensions/grunt278 LOC (<1%) 1 files
extensions/debug-server-ready186 LOC (<1%) 1 files
build/builtin141 LOC (<1%) 3 files
resources/linux106 LOC (<1%) 4 files
extensions/debug-auto-launch98 LOC (<1%) 1 files
extensions/typescript-basics51 LOC (<1%) 1 files
extensions/php48 LOC (<1%) 1 files
extensions/git-ui46 LOC (<1%) 1 files
ROOT40 LOC (<1%) 2 files
extensions/json27 LOC (<1%) 1 files
extensions21 LOC (<1%) 1 files
extensions/python11 LOC (<1%) 1 files
resources/win328 LOC (<1%) 1 files
extensions/cpp5 LOC (<1%) 1 files
extensions/objective-c4 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-04-15 06:00