microsoft / vscode-extension-samples
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 (52 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 52 components.
  • 126 files, 10,296 lines of code (5.7% vs. main code).
  • "vim-sample" is biggest, containing 13.15% of code.
  • "proposed-api-sample" is smallest, containing 0.08% of code.


vim-sample1354 LOC (<1%) 7 files
custom-editor-sample970 LOC (<1%) 11 files
tree-view-sample948 LOC (<1%) 7 files
source-control-sample731 LOC (<1%) 7 files
lsp-embedded-language-service552 LOC (<1%) 7 files
lsp-embedded-request-forwarding477 LOC (<1%) 3 files
webview-codicons-sample419 LOC (<1%) 2 files
quickinput-sample396 LOC (<1%) 4 files
webview-view-sample297 LOC (<1%) 5 files
webview-sample287 LOC (<1%) 4 files
task-provider-sample256 LOC (<1%) 3 files
test-provider-sample250 LOC (<1%) 3 files
fsprovider-sample244 LOC (<1%) 2 files
lsp-log-streaming-sample227 LOC (<1%) 2 files
nodefs-provider-sample226 LOC (<1%) 1 files
lsp-sample213 LOC (<1%) 2 files
terminal-sample195 LOC (<1%) 1 files
call-hierarchy-sample177 LOC (<1%) 3 files
contentprovider-sample160 LOC (<1%) 3 files
lsp-multi-server-sample137 LOC (<1%) 2 files
authenticationprovider-sample127 LOC (<1%) 2 files
configuration-sample117 LOC (<1%) 1 files
comment-sample115 LOC (<1%) 1 files
code-actions-sample113 LOC (<1%) 2 files
lsp-user-input-sample106 LOC (<1%) 2 files
lsp-web-extension-sample94 LOC (<1%) 2 files
semantic-tokens-sample92 LOC (<1%) 1 files
product-icon-theme-sample90 LOC (<1%) 2 files
i18n-sample82 LOC (<1%) 3 files
notebook-renderer-sample82 LOC (<1%) 3 files
decorator-sample69 LOC (<1%) 1 files
codelens-sample66 LOC (<1%) 2 files
inline-completions63 LOC (<1%) 1 files
notebook-renderer-react-sample62 LOC (<1%) 3 files
fsconsumer-sample60 LOC (<1%) 1 files
extension-terminal-sample52 LOC (<1%) 1 files
github-authentication-sample50 LOC (<1%) 2 files
basic-multi-root-sample46 LOC (<1%) 1 files
completions-sample42 LOC (<1%) 1 files
diagnostic-related-information-sample36 LOC (<1%) 2 files
virtual-document-sample34 LOC (<1%) 1 files
statusbar-sample31 LOC (<1%) 1 files
progress-sample30 LOC (<1%) 1 files
getting-started-sample21 LOC (<1%) 1 files
uri-handler-sample20 LOC (<1%) 1 files
document-editing-sample17 LOC (<1%) 1 files
webpack-sample14 LOC (<1%) 2 files
helloworld-minimal-sample13 LOC (<1%) 1 files
welcome-view-content-sample11 LOC (<1%) 1 files
helloworld-web-sample9 LOC (<1%) 1 files
helloworld-sample8 LOC (<1%) 1 files
proposed-api-sample8 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-30 11:14