aws-samples / aws-security-reference-architecture-examples
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 159 units with 2,694 lines of code in units (21.0% of code).
    • 2 very long units (314 lines of code)
    • 0 long units (0 lines of code)
    • 33 medium size units (1,033 lines of code)
    • 65 small units (997 lines of code)
    • 59 very small units (350 lines of code)
11% | 0% | 38% | 37% | 12%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py11% | 0% | 38% | 37% | 12%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
aws_sra_examples/solutions/securityhub55% | 0% | 30% | 13% | <1%
aws_sra_examples/solutions/guardduty0% | 0% | 54% | 44% | <1%
aws_sra_examples/solutions/macie0% | 0% | 38% | 51% | 10%
aws_sra_examples/solutions/cloudtrail0% | 0% | 62% | 35% | 1%
aws_sra_examples/utils/aws_control_tower0% | 0% | 72% | 27% | 0%
aws_sra_examples/solutions/ec20% | 0% | 42% | 25% | 31%
aws_sra_examples/solutions/common0% | 0% | 14% | 52% | 32%
aws_sra_examples/solutions/firewall_manager0% | 0% | 51% | 38% | 10%
aws_sra_examples/solutions/s30% | 0% | 23% | 47% | 28%
aws_sra_examples/solutions/iam0% | 0% | 59% | 32% | 8%
aws_sra_examples/solutions/config0% | 0% | 0% | 45% | 54%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def process_security_standards()
in aws_sra_examples/solutions/securityhub/securityhub_enabler_acct/lambda/src/app.py
176 21 4
def processing_accounts()
in aws_sra_examples/solutions/securityhub/securityhub_enabler_acct/lambda/src/app.py
138 24 5
def get_enabled_regions()
in aws_sra_examples/solutions/ec2/ec2_default_ebs_encryption/lambda/src/app.py
49 10 2
def create()
in aws_sra_examples/solutions/guardduty/guardduty_org/lambda/src/app.py
44 7 2
def process_cloudformation_event()
in aws_sra_examples/solutions/s3/s3_block_account_public_access/lambda/src/app.py
43 6 3
def delete()
in aws_sra_examples/solutions/macie/macie_org/lambda/src/app.py
43 9 2
def delete()
in aws_sra_examples/solutions/guardduty/guardduty_org/lambda/src/app.py
43 8 2
def update()
in aws_sra_examples/solutions/cloudtrail/cloudtrail_org/lambda/src/app.py
40 5 2
def get_enabled_regions()
in aws_sra_examples/solutions/common/common_prerequisites/lambda/src/app.py
39 5 0
def configure_guardduty()
in aws_sra_examples/solutions/guardduty/guardduty_org/lambda/src/app.py
39 8 7
def associate_admin_account()
in aws_sra_examples/solutions/firewall_manager/firewall_manager_org/lambda/src/app.py
39 9 1
def process_cloudformation_event()
in aws_sra_examples/solutions/ec2/ec2_default_ebs_encryption/lambda/src/app.py
39 7 3
def create()
in aws_sra_examples/solutions/cloudtrail/cloudtrail_org/lambda/src/app.py
38 5 2
def update_member_detectors()
in aws_sra_examples/solutions/guardduty/guardduty_org/lambda/src/app.py
35 12 3
def lambda_handler()
in aws_sra_examples/solutions/securityhub/securityhub_enabler_acct/lambda/src/app.py
34 14 2
def get_validated_securityhub_regions()
in aws_sra_examples/solutions/securityhub/securityhub_enabler_acct/lambda/src/app.py
33 11 2
def disable_mgmt()
in aws_sra_examples/solutions/securityhub/securityhub_enabler_acct/lambda/src/app.py
33 6 3
def gd_create_members()
in aws_sra_examples/solutions/guardduty/guardduty_org/lambda/src/app.py
33 13 3
def get_config_recorder_status()
in aws_sra_examples/utils/aws_control_tower/helper_scripts/list_config_recorder_status.py
32 7 0
def enable_mgmt()
in aws_sra_examples/solutions/securityhub/securityhub_enabler_acct/lambda/src/app.py
32 5 3