aws-samples / aws-service-catalog-terraform-reference-architecture
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 111 units with 1,042 lines of code in units (33.1% of code).
    • 0 very long units (0 lines of code)
    • 1 long units (59 lines of code)
    • 9 medium size units (238 lines of code)
    • 18 small units (273 lines of code)
    • 83 very small units (472 lines of code)
0% | 5% | 22% | 26% | 45%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py0% | 12% | 11% | 31% | 45%
java0% | 0% | 33% | 21% | 45%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
TerraformScripts/sc_terraform_wrapper0% | 12% | 11% | 31% | 45%
TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/fulfillment0% | 0% | 50% | 15% | 33%
TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource0% | 0% | 22% | 36% | 40%
TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/facades0% | 0% | 37% | 0% | 62%
TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/model0% | 0% | 38% | 23% | 38%
TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/util0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def run()
in TerraformScripts/sc_terraform_wrapper/__main__.py
59 9 6
public void sendCommand()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/fulfillment/CommandSender.java
34 1 0
def tag_resources_with_retry()
in TerraformScripts/sc_terraform_wrapper/terraform_tag.py
31 9 4
public void handleRequest()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/TerraformRequestHandler.java
30 4 3
public CustomResourceRequest()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/model/CustomResourceRequest.java
27 2 1
public SendCommandResult sendCommand()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/facades/SsmFacade.java
27 3 4
def _post_response()
in TerraformScripts/sc_terraform_wrapper/response_poster.py
24 5 6
public String getInstanceId()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/facades/Ec2Facade.java
23 3 1
private static void postResponse()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/ResponsePoster.java
21 3 2
private void verifyPreviousCommandCompletion()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/fulfillment/CommandSender.java
21 4 0
def main()
in TerraformScripts/sc_terraform_wrapper/__main__.py
20 2 0
public void handleRequest()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/TerraformLaunchRequestHandler.java
17 2 3
public void validateFields()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/model/TerraformResourceProperties.java
17 5 0
private void bestEffortCheckWhetherCommandIsNotFound()
in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/fulfillment/CommandSender.java
17 5 2
def download_artifact()
in TerraformScripts/sc_terraform_wrapper/__main__.py
16 4 5
def create_resource_group_if_not_exist()
in TerraformScripts/sc_terraform_wrapper/terraform_resource_group.py
16 2 2
def _get_terraform_version()
in TerraformScripts/sc_terraform_wrapper/terraform_executor.py
16 3 1
def install_latest_terraform()
in TerraformScripts/sc_terraform_wrapper/terraform_installer.py
16 2 0
def seconds_until_expiry()
in TerraformScripts/sc_terraform_wrapper/cfn_url_parser.py
16 4 1
def create_proxy_object()
in TerraformScripts/sc_terraform_wrapper/response_poster.py
15 1 1