azure / azure-ai-cli
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
command
txt
cmd
csproj
targets
project
mod
vtt
jsonl
wxs
lua
csx
gitattributes
properties
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.

main42749 LOC (70%) 395 files
test2292 LOC (3%) 21 files
generated0 LOC (0%) 0 files
build and deployment777 LOC (1%) 23 files
other14868 LOC (24%) 106 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
targets
wxs
cmd
lua
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 395 files match defined criteria (42,749 LOC, 100.0% vs. main code):
    • 333 *.cs files (40,506 LOC)
    • 24 *.py files (721 LOC)
    • 14 *.targets files (675 LOC)
    • 2 *.wxs files (248 LOC)
    • 9 *.cmd files (148 LOC)
    • 5 *.ps1 files (113 LOC)
    • 1 *.cpp files (106 LOC)
    • 3 *.yaml files (105 LOC)
    • 2 *.lua files (98 LOC)
    • 1 *.java files (21 LOC)
    • 1 *.xml files (8 LOC)
  • " *.cs" is biggest, containing 94.75% of LOC.
  • " *.xml" is smallest, containing 0.02% of LOC.


*.cs40506 LOC (94%) 333 files
*.py721 LOC (1%) 24 files
*.targets675 LOC (1%) 14 files
*.wxs248 LOC (<1%) 2 files
*.cmd148 LOC (<1%) 9 files
*.ps1113 LOC (<1%) 5 files
*.cpp106 LOC (<1%) 1 file
*.yaml105 LOC (<1%) 3 files
*.lua98 LOC (<1%) 2 files
*.java21 LOC (<1%) 1 file
*.xml8 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
cmd
jsonl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/tests_.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*/test[.].*".
  • 21 files match defined criteria (2,292 LOC, 5.4% vs. main code):
    • 8 *.yaml files (1,916 LOC)
    • 4 *.cs files (304 LOC)
    • 8 *.cmd files (69 LOC)
    • 1 *.jsonl files (3 LOC)
  • " *.yaml" is biggest, containing 83.6% of LOC.
  • " *.jsonl" is smallest, containing 0.13% of LOC.


*.yaml1916 LOC (83%) 8 files
*.cs304 LOC (13%) 4 files
*.cmd69 LOC (3%) 8 files
*.jsonl3 LOC (<1%) 1 file
Build and Deployment Code
Source code used to configure or support build and deployment process.
csproj
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]bat".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]gitattributes".
  • 23 files match defined criteria (777 LOC, 1.8% vs. main code):
    • 16 *.csproj files (520 LOC)
    • 7 *.sh files (257 LOC)
  • " *.csproj" is biggest, containing 66.92% of LOC.
  • " *.sh" is smallest, containing 33.08% of LOC.


*.csproj520 LOC (66%) 16 files
*.sh257 LOC (33%) 7 files
Other Code
txt
targets
csproj
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 ".*[.]json".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[.]gitignore".
  • 106 files match defined criteria (14,868 LOC, 34.8% vs. main code):
    • 18 *.json files (7,158 LOC)
    • 71 *.md files (6,742 LOC)
    • 14 *.txt files (913 LOC)
    • 1 *.cs files (20 LOC)
    • 1 *.targets files (19 LOC)
    • 1 *.csproj files (16 LOC)
  • " *.json" is biggest, containing 48.14% of LOC.
  • " *.csproj" is smallest, containing 0.11% of LOC.


*.json7158 LOC (48%) 18 files
*.md6742 LOC (45%) 71 files
*.txt913 LOC (6%) 14 files
*.cs20 LOC (<1%) 1 file
*.targets19 LOC (<1%) 1 file
*.csproj16 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 22:56