alibaba / yalantinglibs
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
ipp
txt
s
proto
clang-format
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main61773 LOC (69%) 194 files
test22355 LOC (25%) 62 files
generated95 LOC (<1%) 1 file
build and deployment41 LOC (<1%) 2 files
other4710 LOC (5%) 70 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
proto
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 194 files match defined criteria (61,773 LOC, 100.0% vs. main code):
    • 147 *.hpp files (40,457 LOC)
    • 30 *.h files (19,971 LOC)
    • 8 *.cpp files (887 LOC)
    • 7 *.cmake files (394 LOC)
    • 1 *.proto files (50 LOC)
    • 1 *.bzl files (14 LOC)
  • " *.hpp" is biggest, containing 65.49% of LOC.
  • " *.bzl" is smallest, containing 0.02% of LOC.


*.hpp40457 LOC (65%) 147 files
*.h19971 LOC (32%) 30 files
*.cpp887 LOC (1%) 8 files
*.cmake394 LOC (<1%) 7 files
*.proto50 LOC (<1%) 1 file
*.bzl14 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
proto
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_test[.].*".
  • 62 files match defined criteria (22,355 LOC, 36.2% vs. main code):
    • 54 *.cpp files (20,869 LOC)
    • 5 *.hpp files (718 LOC)
    • 1 *.h files (627 LOC)
    • 2 *.proto files (141 LOC)
  • " *.cpp" is biggest, containing 93.35% of LOC.
  • " *.proto" is smallest, containing 0.63% of LOC.


*.cpp20869 LOC (93%) 54 files
*.hpp718 LOC (3%) 5 files
*.h627 LOC (2%) 1 file
*.proto141 LOC (<1%) 2 files
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.](html|html|xhtml)" AND any line of content like "[ ]*[<]meta name[=]"generator" .*".
  • 1 file matches defined criteria (95 LOC, 0.2% vs. main code). All matches are in *.html files.


*.html95 LOC (100%) 1 file
Build and Deployment Code
Source code used to configure or support build and deployment process.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/package[.]json".
  • 2 files match defined criteria (41 LOC, 0.1% vs. main code). All matches are in *.sh files.


*.sh41 LOC (100%) 2 files
Other Code
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]json".
  • 70 files match defined criteria (4,710 LOC, 7.6% vs. main code):
    • 29 *.cpp files (2,793 LOC)
    • 3 *.md files (800 LOC)
    • 27 *.txt files (655 LOC)
    • 1 *.html files (133 LOC)
    • 2 *.hpp files (120 LOC)
    • 4 *.h files (91 LOC)
    • 1 *.go files (73 LOC)
    • 2 *.json files (28 LOC)
    • 1 *.py files (17 LOC)
  • " *.cpp" is biggest, containing 59.3% of LOC.
  • " *.py" is smallest, containing 0.36% of LOC.


*.cpp2793 LOC (59%) 29 files
*.md800 LOC (16%) 3 files
*.txt655 LOC (13%) 27 files
*.html133 LOC (2%) 1 file
*.hpp120 LOC (2%) 2 files
*.h91 LOC (1%) 4 files
*.go73 LOC (1%) 1 file
*.json28 LOC (<1%) 2 files
*.py17 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-14 18:56