apache / rocketmq-externals
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
properties
txt
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.

main15326 LOC (61%) 268 files
test5191 LOC (20%) 69 files
generated3 LOC (<1%) 1 file
build and deployment2800 LOC (11%) 34 files
other1728 LOC (6%) 35 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 268 files match defined criteria (15,326 LOC, 100.0% vs. main code):
    • 142 *.java files (7,548 LOC)
    • 25 *.scala files (2,486 LOC)
    • 35 *.xml files (2,302 LOC)
    • 42 *.go files (2,241 LOC)
    • 1 *.py files (296 LOC)
    • 9 *.yaml files (226 LOC)
    • 11 *.yml files (160 LOC)
    • 2 *.js files (56 LOC)
    • 1 *.html files (11 LOC)
  • " *.java" is biggest, containing 49.25% of LOC.
  • " *.html" is smallest, containing 0.07% of LOC.


*.java7548 LOC (49%) 142 files
*.scala2486 LOC (16%) 25 files
*.xml2302 LOC (15%) 35 files
*.go2241 LOC (14%) 42 files
*.py296 LOC (1%) 1 file
*.yaml226 LOC (1%) 9 files
*.yml160 LOC (1%) 11 files
*.js56 LOC (<1%) 2 files
*.html11 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*_test[.].*".
  • 69 files match defined criteria (5,191 LOC, 33.9% vs. main code):
    • 61 *.java files (4,764 LOC)
    • 1 *.go files (228 LOC)
    • 6 *.xml files (177 LOC)
    • 1 *.avsc files (22 LOC)
  • " *.java" is biggest, containing 91.77% of LOC.
  • " *.avsc" is smallest, containing 0.42% of LOC.


*.java4764 LOC (91%) 61 files
*.go228 LOC (4%) 1 file
*.xml177 LOC (3%) 6 files
*.avsc22 LOC (<1%) 1 file
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 ".*_generated[.][a-z]+".
  • 1 file matches defined criteria (3 LOC, 0.0% vs. main code). All matches are in *.go files.


*.go3 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 ".*[.]sh".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/assembly[.]xml".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*[.]bat".
  • 34 files match defined criteria (2,800 LOC, 18.3% vs. main code):
    • 23 *.xml files (2,378 LOC)
    • 2 *.gradle files (176 LOC)
    • 2 *.bat files (152 LOC)
    • 7 *.sh files (94 LOC)
  • " *.xml" is biggest, containing 84.93% of LOC.
  • " *.sh" is smallest, containing 3.36% of LOC.


*.xml2378 LOC (84%) 23 files
*.gradle176 LOC (6%) 2 files
*.bat152 LOC (5%) 2 files
*.sh94 LOC (3%) 7 files
Other Code
properties
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Dd]emos?/.*".
  • 35 files match defined criteria (1,728 LOC, 11.3% vs. main code):
    • 27 *.md files (1,462 LOC)
    • 3 *.java files (131 LOC)
    • 4 *.properties files (104 LOC)
    • 1 *.json files (31 LOC)
  • " *.md" is biggest, containing 84.61% of LOC.
  • " *.json" is smallest, containing 1.79% of LOC.


*.md1462 LOC (84%) 27 files
*.java131 LOC (7%) 3 files
*.properties104 LOC (6%) 4 files
*.json31 LOC (1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 18:18