GoogleCloudPlatform / serverless-expeditions
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
txt
ejs
mod
tpl
mjs
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.

main6202 LOC (12%) 159 files
test247 LOC (<1%) 7 files
generated21347 LOC (41%) 14 files
build and deployment420 LOC (<1%) 43 files
other22945 LOC (44%) 97 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
ejs
tpl
mjs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 159 files match defined criteria (6,202 LOC, 100.0% vs. main code):
    • 52 *.py files (2,347 LOC)
    • 41 *.js files (1,567 LOC)
    • 24 *.html files (994 LOC)
    • 8 *.tf files (363 LOC)
    • 8 *.css files (296 LOC)
    • 7 *.ejs files (244 LOC)
    • 6 *.yaml files (121 LOC)
    • 4 *.sql files (60 LOC)
    • 1 *.pug files (57 LOC)
    • 2 *.go files (57 LOC)
    • 2 *.tsx files (56 LOC)
    • 2 *.ts files (33 LOC)
    • 1 *.tpl files (4 LOC)
    • 1 *.mjs files (3 LOC)
  • " *.py" is biggest, containing 37.84% of LOC.
  • " *.mjs" is smallest, containing 0.05% of LOC.


*.py2347 LOC (37%) 52 files
*.js1567 LOC (25%) 41 files
*.html994 LOC (16%) 24 files
*.tf363 LOC (5%) 8 files
*.css296 LOC (4%) 8 files
*.ejs244 LOC (3%) 7 files
*.yaml121 LOC (1%) 6 files
*.sql60 LOC (<1%) 4 files
*.pug57 LOC (<1%) 1 file
*.go57 LOC (<1%) 2 files
*.tsx56 LOC (<1%) 2 files
*.ts33 LOC (<1%) 2 files
*.tpl4 LOC (<1%) 1 file
*.mjs3 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 ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*_test[.].*".
  • 7 files match defined criteria (247 LOC, 4.0% vs. main code):
    • 5 *.py files (209 LOC)
    • 2 *.js files (38 LOC)
  • " *.py" is biggest, containing 84.62% of LOC.
  • " *.js" is smallest, containing 15.38% of LOC.


*.py209 LOC (84%) 5 files
*.js38 LOC (15%) 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 ".*/package[-]lock[.]json".
  • 14 files match defined criteria (21,347 LOC, 344.2% vs. main code). All matches are in *.json files.


*.json21347 LOC (100%) 14 files
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 ".*/package[-]lock[.]json".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]bat".
  • 43 files match defined criteria (420 LOC, 6.8% vs. main code):
    • 34 *.sh files (314 LOC)
    • 9 *.bat files (106 LOC)
  • " *.sh" is biggest, containing 74.76% of LOC.
  • " *.bat" is smallest, containing 25.24% of LOC.


*.sh314 LOC (74%) 34 files
*.bat106 LOC (25%) 9 files
Other Code
txt
mod
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 ".*[.]txt".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*[.]svg".
  • 97 files match defined criteria (22,945 LOC, 370.0% vs. main code):
    • 39 *.json files (22,031 LOC)
    • 37 *.md files (811 LOC)
    • 19 *.txt files (100 LOC)
    • 1 *.mod files (2 LOC)
    • 1 *.svg files (1 LOC)
  • " *.json" is biggest, containing 96.02% of LOC.
  • " *.svg" is smallest, containing 0% of LOC.


*.json22031 LOC (96%) 39 files
*.md811 LOC (3%) 37 files
*.txt100 LOC (<1%) 19 files
*.mod2 LOC (<1%) 1 file
*.svg1 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-04 15:28