aliyun / AliRTCSample
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
storyboard
plist
ui
properties
pro
txt
vcxproj
tpl
mod
ini
filters
csproj
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.

main30653 LOC (78%) 400 files
test0 LOC (0%) 0 files
generated0 LOC (0%) 0 files
build and deployment551 LOC (1%) 17 files
other7701 LOC (19%) 106 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
ui
vcxproj
filters
pro
tpl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 400 files match defined criteria (30,653 LOC, 100.0% vs. main code):
    • 35 *.vue files (4,967 LOC)
    • 86 *.h files (4,496 LOC)
    • 16 *.cpp files (3,369 LOC)
    • 54 *.m files (3,254 LOC)
    • 26 *.tsx files (2,721 LOC)
    • 18 *.ts files (2,438 LOC)
    • 13 *.less files (1,543 LOC)
    • 4 *.html files (1,523 LOC)
    • 64 *.xml files (1,057 LOC)
    • 14 *.java files (990 LOC)
    • 4 *.ui files (971 LOC)
    • 17 *.js files (647 LOC)
    • 2 *.vcxproj files (508 LOC)
    • 7 *.go files (495 LOC)
    • 14 *.py files (463 LOC)
    • 9 *.cs files (414 LOC)
    • 7 *.php files (278 LOC)
    • 1 *.css files (254 LOC)
    • 5 *.json5 files (115 LOC)
    • 1 *.filters files (69 LOC)
    • 1 *.pro files (41 LOC)
    • 2 *.tpl files (40 LOC)
  • " *.vue" is biggest, containing 16.2% of LOC.
  • " *.tpl" is smallest, containing 0.13% of LOC.


*.vue4967 LOC (16%) 35 files
*.h4496 LOC (14%) 86 files
*.cpp3369 LOC (10%) 16 files
*.m3254 LOC (10%) 54 files
*.tsx2721 LOC (8%) 26 files
*.ts2438 LOC (7%) 18 files
*.less1543 LOC (5%) 13 files
*.html1523 LOC (4%) 4 files
*.xml1057 LOC (3%) 64 files
*.java990 LOC (3%) 14 files
*.ui971 LOC (3%) 4 files
*.js647 LOC (2%) 17 files
*.vcxproj508 LOC (1%) 2 files
*.go495 LOC (1%) 7 files
*.py463 LOC (1%) 14 files
*.cs414 LOC (1%) 9 files
*.php278 LOC (<1%) 7 files
*.css254 LOC (<1%) 1 file
*.json5115 LOC (<1%) 5 files
*.filters69 LOC (<1%) 1 file
*.pro41 LOC (<1%) 1 file
*.tpl40 LOC (<1%) 2 files
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 ".*/package[.]json".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*/AndroidManifest[.]xml".
    • files with paths like ".*[.]bat".
  • 17 files match defined criteria (551 LOC, 1.8% vs. main code):
    • 4 *.js files (151 LOC)
    • 7 *.gradle files (136 LOC)
    • 2 *.bat files (127 LOC)
    • 3 *.xml files (126 LOC)
    • 1 *.csproj files (11 LOC)
  • " *.js" is biggest, containing 27.4% of LOC.
  • " *.csproj" is smallest, containing 2% of LOC.


*.js151 LOC (27%) 4 files
*.gradle136 LOC (24%) 7 files
*.bat127 LOC (23%) 2 files
*.xml126 LOC (22%) 3 files
*.csproj11 LOC (1%) 1 file
Other Code
storyboard
plist
txt
properties
ini
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 ".*/[Ss]amples/.*".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]storyboard".
    • files with paths like ".*[.]json".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]xib".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Dd]emos?/.*".
  • 106 files match defined criteria (7,701 LOC, 25.1% vs. main code):
    • 13 *.storyboard files (3,799 LOC)
    • 11 *.java files (1,862 LOC)
    • 37 *.json files (1,061 LOC)
    • 9 *.plist files (350 LOC)
    • 19 *.md files (204 LOC)
    • 6 *.json5 files (186 LOC)
    • 2 *.txt files (62 LOC)
    • 2 *.sh files (56 LOC)
    • 1 *.xib files (43 LOC)
    • 2 *.properties files (33 LOC)
    • 2 *.ts files (31 LOC)
    • 1 *.ini files (12 LOC)
    • 1 *.mod files (2 LOC)
  • " *.storyboard" is biggest, containing 49.33% of LOC.
  • " *.mod" is smallest, containing 0.03% of LOC.


*.storyboard3799 LOC (49%) 13 files
*.java1862 LOC (24%) 11 files
*.json1061 LOC (13%) 37 files
*.plist350 LOC (4%) 9 files
*.md204 LOC (2%) 19 files
*.json5186 LOC (2%) 6 files
*.txt62 LOC (<1%) 2 files
*.sh56 LOC (<1%) 2 files
*.xib43 LOC (<1%) 1 file
*.properties33 LOC (<1%) 2 files
*.ts31 LOC (<1%) 2 files
*.ini12 LOC (<1%) 1 file
*.mod2 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-15 05:07