netflix / eclipse-jifa
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
properties
tpl
prettierignore
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.

main37393 LOC (60%) 475 files
test4813 LOC (7%) 45 files
generated9375 LOC (15%) 2 files
build and deployment634 LOC (1%) 18 files
other9950 LOC (16%) 22 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
tpl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 475 files match defined criteria (37,393 LOC, 100.0% vs. main code):
    • 355 *.java files (22,364 LOC)
    • 64 *.vue files (10,084 LOC)
    • 37 *.ts files (2,601 LOC)
    • 1 *.js files (1,656 LOC)
    • 14 *.yaml files (385 LOC)
    • 1 *.pl files (101 LOC)
    • 1 *.tpl files (97 LOC)
    • 1 *.scss files (92 LOC)
    • 1 *.html files (13 LOC)
  • " *.java" is biggest, containing 59.81% of LOC.
  • " *.html" is smallest, containing 0.03% of LOC.


*.java22364 LOC (59%) 355 files
*.vue10084 LOC (26%) 64 files
*.ts2601 LOC (6%) 37 files
*.js1656 LOC (4%) 1 file
*.yaml385 LOC (1%) 14 files
*.pl101 LOC (<1%) 1 file
*.tpl97 LOC (<1%) 1 file
*.scss92 LOC (<1%) 1 file
*.html13 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 ".*/vitest[.].*".
  • 45 files match defined criteria (4,813 LOC, 12.9% vs. main code):
    • 43 *.java files (4,780 LOC)
    • 1 *.ts files (17 LOC)
    • 1 *.xml files (16 LOC)
  • " *.java" is biggest, containing 99.31% of LOC.
  • " *.xml" is smallest, containing 0.33% of LOC.


*.java4780 LOC (99%) 43 files
*.ts17 LOC (<1%) 1 file
*.xml16 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".
    • files with any line of content like "//[ ]*Generated by .*".
  • 2 files match defined criteria (9,375 LOC, 25.1% vs. main code). All matches are in *.json files.


*.json9375 LOC (100%) 2 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 ".*[.]gradle".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/package[-]lock[.]json".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]bat".
  • 18 files match defined criteria (634 LOC, 1.7% vs. main code):
    • 16 *.gradle files (517 LOC)
    • 1 *.bat files (71 LOC)
    • 1 *.sh files (46 LOC)
  • " *.gradle" is biggest, containing 81.55% of LOC.
  • " *.sh" is smallest, containing 7.26% of LOC.


*.gradle517 LOC (81%) 16 files
*.bat71 LOC (11%) 1 file
*.sh46 LOC (7%) 1 file
Other Code
properties
txt
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 ".*[.]properties".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]prettierignore".
  • 22 files match defined criteria (9,950 LOC, 26.6% vs. main code):
    • 8 *.json files (9,503 LOC)
    • 8 *.md files (194 LOC)
    • 3 *.svg files (186 LOC)
    • 1 *.properties files (38 LOC)
    • 2 *.txt files (29 LOC)
  • " *.json" is biggest, containing 95.51% of LOC.
  • " *.txt" is smallest, containing 0.29% of LOC.


*.json9503 LOC (95%) 8 files
*.md194 LOC (1%) 8 files
*.svg186 LOC (1%) 3 files
*.properties38 LOC (<1%) 1 file
*.txt29 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-02 23:46