GoogleCloudPlatform / cloud-learning-platform
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
feature
txt
jl
webmanifest
editorconfig
cfg
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.

main99677 LOC (46%) 1,423 files
test76680 LOC (35%) 477 files
generated7075 LOC (3%) 1 file
build and deployment411 LOC (<1%) 9 files
other30756 LOC (14%) 410 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
cfg
webmanifest
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1423 files match defined criteria (99,677 LOC, 100.0% vs. main code):
    • 703 *.py files (69,833 LOC)
    • 422 *.yaml files (15,690 LOC)
    • 86 *.tf files (4,328 LOC)
    • 55 *.ts files (3,465 LOC)
    • 44 *.html files (2,200 LOC)
    • 30 *.tsx files (1,317 LOC)
    • 20 *.js files (981 LOC)
    • 24 *.scss files (943 LOC)
    • 33 *.sql files (809 LOC)
    • 2 *.bash files (64 LOC)
    • 1 *.css files (38 LOC)
    • 1 *.cfg files (5 LOC)
    • 1 *.toml files (3 LOC)
    • 1 *.webmanifest files (1 LOC)
  • " *.py" is biggest, containing 70.06% of LOC.
  • " *.webmanifest" is smallest, containing 0% of LOC.


*.py69833 LOC (70%) 703 files
*.yaml15690 LOC (15%) 422 files
*.tf4328 LOC (4%) 86 files
*.ts3465 LOC (3%) 55 files
*.html2200 LOC (2%) 44 files
*.tsx1317 LOC (1%) 30 files
*.js981 LOC (<1%) 20 files
*.scss943 LOC (<1%) 24 files
*.sql809 LOC (<1%) 33 files
*.bash64 LOC (<1%) 2 files
*.css38 LOC (<1%) 1 file
*.cfg5 LOC (<1%) 1 file
*.toml3 LOC (<1%) 1 file
*.webmanifest1 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
feature
jl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/karma[.]conf[.]js".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[.]feature".
    • files with paths like ".*/jest[.][a-zA-Z0-9\.]+".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*__tests__.*".
    • files with paths like ".*/__mock[a-zA-Z0-9_\- ]+/.*".
  • 477 files match defined criteria (76,680 LOC, 76.9% vs. main code):
    • 316 *.py files (69,005 LOC)
    • 114 *.feature files (4,443 LOC)
    • 31 *.ts files (2,167 LOC)
    • 11 *.js files (510 LOC)
    • 2 *.yaml files (441 LOC)
    • 2 *.tsx files (80 LOC)
    • 1 *.jl files (34 LOC)
  • " *.py" is biggest, containing 89.99% of LOC.
  • " *.jl" is smallest, containing 0.04% of LOC.


*.py69005 LOC (89%) 316 files
*.feature4443 LOC (5%) 114 files
*.ts2167 LOC (2%) 31 files
*.js510 LOC (<1%) 11 files
*.yaml441 LOC (<1%) 2 files
*.tsx80 LOC (<1%) 2 files
*.jl34 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 ".*/package[-]lock[.]json".
  • 1 file matches defined criteria (7,075 LOC, 7.1% vs. main code). All matches are in *.json files.


*.json7075 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 ".*/package[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/package[-]lock[.]json".
  • 9 files match defined criteria (411 LOC, 0.4% vs. main code). All matches are in *.sh files.


*.sh411 LOC (100%) 9 files
Other Code
txt
properties
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Dd]ocumentation/.*".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]editorconfig".
  • 410 files match defined criteria (30,756 LOC, 30.9% vs. main code):
    • 155 *.json files (27,731 LOC)
    • 26 *.md files (923 LOC)
    • 66 *.txt files (663 LOC)
    • 132 *.properties files (436 LOC)
    • 10 *.js files (395 LOC)
    • 13 *.yaml files (389 LOC)
    • 6 *.css files (205 LOC)
    • 2 *.svg files (14 LOC)
  • " *.json" is biggest, containing 90.16% of LOC.
  • " *.svg" is smallest, containing 0.05% of LOC.


*.json27731 LOC (90%) 155 files
*.md923 LOC (3%) 26 files
*.txt663 LOC (2%) 66 files
*.properties436 LOC (1%) 132 files
*.js395 LOC (1%) 10 files
*.yaml389 LOC (1%) 13 files
*.css205 LOC (<1%) 6 files
*.svg14 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-04 15:50