aws-samples / amazon-quicksight-sdk-proserve
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 614 units with 9,771 lines of code in units (81.5% of code).
    • 15 very long units (3,487 lines of code)
    • 13 long units (843 lines of code)
    • 60 medium size units (1,704 lines of code)
    • 116 small units (1,691 lines of code)
    • 410 very small units (2,046 lines of code)
35% | 8% | 17% | 17% | 20%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py35% | 8% | 17% | 17% | 20%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Migration-scripts/cdk57% | 10% | 14% | 12% | 4%
granular_access/lambda_functions48% | 4% | 6% | 6% | 34%
Admin_Console56% | 0% | 0% | 7% | 36%
Administrative_Dashboard/administrative_dashboard97% | 0% | 0% | 0% | 2%
granular_access/granular_access97% | 0% | 0% | 0% | 2%
Administrative_Dashboard/lambda_functions25% | 21% | 5% | 11% | 35%
Assets_as_Code/Assets_as_Code0% | 9% | 27% | 30% | 32%
Dataset_Refresh_Optimizer/source0% | 0% | 55% | 21% | 23%
Dataset_Refresh_Optimizer/lambda_source0% | 0% | 32% | 48% | 19%
Ingest Excel data automatically into Amazon QuickSight0% | 0% | 55% | 44% | 0%
Dataset_Refresh_Optimizer/doc0% | 0% | 91% | 0% | 8%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def migrate()
in Migration-scripts/cdk/lambda/quicksight_migration/quicksight_migration/incremental_migration_lambda.py
661 49 8
def migrate()
in Migration-scripts/cdk/lambda/quicksight_migration/quicksight_migration/batch_migration_lambda.py
559 21 6
def lambda_handler()
in granular_access/lambda_functions/granular_access_assets_govenance/granular_access_assets_govenance.py
279 41 2
def __init__()
in Administrative_Dashboard/administrative_dashboard/administrative_dashboard_stack.py
256 1 6
def __init__()
in granular_access/granular_access/granular_access_stack.py
256 3 4
def __init__()
in Migration-scripts/cdk/cdk/quicksight_embed_stack.py
193 2 4
def __init__()
in Migration-scripts/cdk/cdk/quicksight_migration_stack.py
192 1 4
def lambda_handler()
in granular_access/lambda_functions/granular_user_govenance/granular_user_govenance.py
187 54 2
def __init__()
in Migration-scripts/cdk/cdk/optional_infra_target_account_stack.py
148 2 4
def lambda_handler()
in Migration-scripts/cdk/lambda/quicksight_migration/quicksight_migration/lambda_function.py
147 15 2
def lambda_handler()
in Admin_Console/data_prepare.py
141 34 2
def lambda_handler()
in granular_access/lambda_functions/check_team_members/check_team_members.py
126 23 2
def lambda_handler()
in Migration-scripts/cdk/lambda/quicksight_status/quicksight_status.py
118 23 2
def lambda_handler()
in Admin_Console/Dataset_info.py
115 17 2
def lambda_handler()
in Administrative_Dashboard/lambda_functions/group_initiation/group_initiation.py
109 13 2
def lambda_handler()
in Administrative_Dashboard/lambda_functions/data_prepare/data_prepare.py
93 16 2
def create_dashboard()
in Migration-scripts/cdk/lambda/quicksight_migration/quicksight_migration/quicksight_utils.py
80 3 10
def create_dashboard()
in Assets_as_Code/Assets_as_Code/src/functions.py
75 2 10
def __init__()
in Migration-scripts/cdk/cdk/quicksight_status_stack.py
72 1 4
def __init__()
in Assets_as_Code/Assets_as_Code/boto3-1.18.59/boto3/dynamodb/transform.py
70 2 3