aws / elastic-load-balancing-tools
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 350 units with 3,174 lines of code in units (77.2% of code).
    • 1 very long units (108 lines of code)
    • 5 long units (341 lines of code)
    • 31 medium size units (889 lines of code)
    • 43 small units (588 lines of code)
    • 270 very small units (1,248 lines of code)
3% | 10% | 28% | 18% | 39%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py10% | 34% | 39% | 9% | 5%
java0% | 0% | 22% | 22% | 54%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
application-load-balancer-copy-utility24% | 39% | 20% | 9% | 6%
network-load-balancer-copy-utility0% | 49% | 38% | 4% | 8%
proprot/tst/com/amazonaws/proprot0% | 0% | 31% | 25% | 43%
proprot/src/com/amazonaws/proprot0% | 0% | 12% | 19% | 67%
classic-load-balancer-consolelink-utility0% | 0% | 90% | 9% | 0%
application-load-balancer-serverless-app/uploadfile_to_s30% | 0% | 100% | 0% | 0%
application-load-balancer-serverless-app/whatismyip0% | 0% | 100% | 0% | 0%
application-load-balancer-serverless-app/binary_response0% | 0% | 0% | 100% | 0%
application-load-balancer-serverless-app/helloworld0% | 0% | 0% | 100% | 0%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def get_alb_data()
in application-load-balancer-copy-utility/copy_classic_load_balancer.py
108 26 3
def main()
in network-load-balancer-copy-utility/copy_network_load_balancer.py
100 18 0
def main()
in application-load-balancer-copy-utility/copy_classic_load_balancer.py
72 11 0
def get_nlb_data()
in network-load-balancer-copy-utility/copy_network_load_balancer.py
64 16 4
def passed_hardfailure_detector()
in application-load-balancer-copy-utility/copy_classic_load_balancer.py
54 25 1
def passed_softfailure_detector()
in application-load-balancer-copy-utility/copy_classic_load_balancer.py
51 21 1
public void test_PrivateLink()
in proprot/tst/com/amazonaws/proprot/Compatibility_AwsNetworkLoadBalancerTest.java
45 1 0
public void testRoundtrip_ipv6()
in proprot/tst/com/amazonaws/proprot/ProxyProtocolTest.java
40 1 0
private void doReadTlvValueToHeader()
in proprot/src/com/amazonaws/proprot/Parser.java
39 12 3
def lambda_handler()
in application-load-balancer-serverless-app/uploadfile_to_s3/uploadfile_27.py
39 1 2
def get_elb_data()
in classic-load-balancer-consolelink-utility/consolelink_classic_load_balancer.py
38 9 1
def lambda_handler()
in application-load-balancer-serverless-app/whatismyip/whatismyip.py
36 1 2
def get_elb_data()
in application-load-balancer-copy-utility/copy_classic_load_balancer.py
35 7 3
def main()
in classic-load-balancer-consolelink-utility/consolelink_classic_load_balancer.py
34 7 0
def target_group_attributes()
in application-load-balancer-copy-utility/copy_classic_load_balancer.py
33 9 2
def get_html()
in classic-load-balancer-consolelink-utility/consolelink_classic_load_balancer.py
32 2 1
public void testCRC32CSamples()
in proprot/tst/com/amazonaws/proprot/CRC32CInputStreamTest.java
32 1 0
public void testRoundtrip_ipv4()
in proprot/tst/com/amazonaws/proprot/ProxyProtocolTest.java
29 1 0
def get_elb_data()
in network-load-balancer-copy-utility/copy_network_load_balancer.py
28 6 2
def create_nlb()
in network-load-balancer-copy-utility/copy_network_load_balancer.py
28 9 2