awslabs / aws-service-catalog-factory
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 221 units with 3,759 lines of code in units (46.0% of code).
    • 7 very long units (1,463 lines of code)
    • 9 long units (596 lines of code)
    • 22 medium size units (696 lines of code)
    • 26 small units (391 lines of code)
    • 157 very small units (613 lines of code)
38% | 15% | 18% | 10% | 16%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py38% | 15% | 18% | 10% | 16%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
servicecatalog_factory/template_builder80% | 10% | 4% | 0% | 4%
servicecatalog_factory/commands28% | 21% | 26% | 14% | 8%
servicecatalog_factory/workflow0% | 23% | 28% | 14% | 33%
servicecatalog_factory0% | 0% | 25% | 28% | 45%
servicecatalog_factory/utilities0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def build()
in servicecatalog_factory/template_builder/builders.py
422 7 6
def get_resources()
in servicecatalog_factory/template_builder/shared_resources.py
268 2 0
def build_source_stage()
in servicecatalog_factory/template_builder/builders.py
191 3 4
def show_pipelines()
in servicecatalog_factory/commands/show_pipelines.py
171 34 2
def generate_launch_constraints()
in servicecatalog_factory/commands/portfolios.py
147 15 1
def build_test_stage()
in servicecatalog_factory/template_builder/builders.py
137 3 6
def get_resources()
in servicecatalog_factory/template_builder/cdk/shared_resources.py
127 4 0
def run()
in servicecatalog_factory/workflow/portfolios/create_product_task.py
96 16 1
def build_deploy_stage()
in servicecatalog_factory/template_builder/builders.py
80 1 6
def add_custom_tests()
in servicecatalog_factory/template_builder/builders.py
74 2 5
def generate()
in servicecatalog_factory/commands/generate.py
69 4 1
def import_product_set()
in servicecatalog_factory/commands/portfolios.py
62 13 3
def ensure_code_commit_repo()
in servicecatalog_factory/commands/portfolios.py
58 6 1
def run()
in servicecatalog_factory/workflow/codecommit/create_code_repo_task.py
53 5 1
def run()
in servicecatalog_factory/workflow/portfolios/create_version_pipeline_template_task.py
53 6 1
def fix_issues_for_portfolio()
in servicecatalog_factory/commands/portfolios.py
51 11 1
def generate()
in servicecatalog_factory/commands/portfolios.py
48 5 2
def run()
in servicecatalog_factory/workflow/portfolios/create_combined_product_pipeline_template_task.py
47 5 1
def nuke_product_version()
in servicecatalog_factory/commands/portfolios.py
45 8 3
def update_provisioned_product()
in servicecatalog_factory/commands/portfolios.py
40 6 5