microsoft / VSSDK-Extensibility-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 (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 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 38 components.
  • 441 files, 30,291 lines of code (100.0% vs. main code).
  • "ArchivedSamples" is biggest, containing 37.22% of code.
  • "TextmateGrammar" is smallest, containing 0.09% of code.


ArchivedSamples11273 LOC (37%) 111 files
Code_Sweep5171 LOC (17%) 52 files
WPFDesigner_XML1655 LOC (5%) 13 files
ROOT1060 LOC (3%) 13 files
SqliteVisualizer1050 LOC (3%) 10 files
Editor_With_Toolbox866 LOC (2%) 8 files
LanguageServerProtocol761 LOC (2%) 15 files
ErrorList723 LOC (2%) 9 files
Ook_Language_Integration651 LOC (2%) 12 files
AsyncCompletion611 LOC (2%) 9 files
CodeLensOopSample517 LOC (1%) 12 files
Intra-text_Adornment513 LOC (1%) 11 files
Combo_Box433 LOC (1%) 5 files
MSDNSearch369 LOC (1%) 8 files
Reference_Services332 LOC (1%) 13 files
LightBulb330 LOC (1%) 6 files
Open_Folder_Extensibility323 LOC (1%) 8 files
Backwards_Compatible_AsyncPackage_2013321 LOC (1%) 8 files
Options279 LOC (<1%) 9 files
Diff_Classifier254 LOC (<1%) 6 files
Backwards_Compatible_Editor_Command253 LOC (<1%) 12 files
Typing_Speed_Meter251 LOC (<1%) 7 files
OperationProgress250 LOC (<1%) 7 files
Todo_Classification248 LOC (<1%) 10 files
Menu_And_Commands224 LOC (<1%) 8 files
Highlight_Word223 LOC (<1%) 5 files
Windows_Forms_Controls_Installer203 LOC (<1%) 8 files
AsyncToolWindow166 LOC (<1%) 8 files
AsyncPackageMigration152 LOC (<1%) 6 files
SingleFileGenerator147 LOC (<1%) 5 files
VisibilityConstraints132 LOC (<1%) 4 files
Caret_Fish_Eye116 LOC (<1%) 5 files
AsyncQuickInfo105 LOC (<1%) 4 files
CustomCommand90 LOC (<1%) 4 files
Completion_Tooltip_Customization75 LOC (<1%) 3 files
SolutionLoadEvents72 LOC (<1%) 3 files
ProtocolHandler66 LOC (<1%) 3 files
TextmateGrammar26 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-30 10:19