aws-samples / aws-iot-sap-condition-monitoring-demo
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 29 units with 1,482 lines of code in units (85.6% of code).
    • 2 very long units (526 lines of code)
    • 7 long units (552 lines of code)
    • 9 medium size units (294 lines of code)
    • 4 small units (59 lines of code)
    • 7 very small units (51 lines of code)
35% | 37% | 19% | 3% | 3%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py35% | 37% | 19% | 3% | 3%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
cdk-iot-analytics/cdk_sap_blog/analytics36% | 44% | 17% | 1% | <1%
cdk-iot-analytics/cdk_sap_blog/iot76% | 0% | 21% | 0% | 1%
cdk-iot-analytics/cdk_sap_blog/sap0% | 62% | 28% | 9% | 0%
cdk-iot-analytics0% | 100% | 0% | 0% | 0%
cdk-iot-analytics/cdk_sap_blog/sap/lambda_assets/function_code0% | 60% | 31% | 0% | 8%
cdk-iot-analytics/cdk_sap_blog/analytics/lambda_assets/get_product_range0% | 0% | 100% | 0% | 0%
cdk-iot-analytics/cdk_sap_blog0% | 0% | 0% | 68% | 32%
cdk-iot-analytics/lambda_assets0% | 0% | 0% | 0% | 100%
cdk-iot-analytics/cdk_sap_blog/iot/lambda_assets0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def get_detector_model()
in cdk-iot-analytics/cdk_sap_blog/analytics/analytics.py
279 2 3
def __init__()
in cdk-iot-analytics/cdk_sap_blog/iot/iot_stack.py
247 5 4
def get_analytics_pipeline()
in cdk-iot-analytics/cdk_sap_blog/analytics/analytics.py
97 1 3
def get_analytics_dataset()
in cdk-iot-analytics/cdk_sap_blog/analytics/analytics.py
97 1 3
def get_ddb()
in cdk-iot-analytics/cdk_sap_blog/analytics/dynamo.py
90 1 1
def get_odata()
in cdk-iot-analytics/cdk_sap_blog/sap/lambda_.py
89 1 2
def run()
in cdk-iot-analytics/simulator.py
67 6 3
def get_product_range()
in cdk-iot-analytics/cdk_sap_blog/analytics/lambda_.py
58 1 1
def lambda_handler()
in cdk-iot-analytics/cdk_sap_blog/sap/lambda_assets/function_code/lambda_function.py
54 5 2
def get_logger()
in cdk-iot-analytics/cdk_sap_blog/iot/lambda_.py
46 1 2
def get_logger()
in cdk-iot-analytics/cdk_sap_blog/analytics/lambda_.py
46 1 2
def __init__()
in cdk-iot-analytics/cdk_sap_blog/analytics/analytics_stack.py
41 2 4
def __init__()
in cdk-iot-analytics/cdk_sap_blog/sap/sap_stack.py
40 1 4
def _get_secret()
in cdk-iot-analytics/cdk_sap_blog/sap/lambda_assets/function_code/lambda_function.py
28 5 0
def get_analytics_rule()
in cdk-iot-analytics/cdk_sap_blog/analytics/rules.py
25 1 4
def get_all_mqtt_rule()
in cdk-iot-analytics/cdk_sap_blog/iot/rules.py
24 1 4
def get_events_input()
in cdk-iot-analytics/cdk_sap_blog/analytics/analytics.py
23 1 1
def handler()
in cdk-iot-analytics/cdk_sap_blog/analytics/lambda_assets/get_product_range/get_product_range.py
21 3 2
def generatecsr()
in cdk-iot-analytics/cdk_sap_blog/create_key_and_csr.py
19 2 2
def generatekey()
in cdk-iot-analytics/cdk_sap_blog/create_key_and_csr.py
15 2 2