awslabs / aws-crypto-tools-test-vector-framework
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 21 units with 338 lines of code in units (70.4% of code).
    • 0 very long units (0 lines of code)
    • 2 long units (138 lines of code)
    • 1 medium size units (36 lines of code)
    • 7 small units (98 lines of code)
    • 11 very small units (66 lines of code)
0% | 40% | 10% | 28% | 19%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py0% | 40% | 10% | 28% | 19%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
features0% | 40% | 10% | 28% | 19%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def _build_tests()
in features/0006-awses-message-decryption-generation-generate.py
85 7 1
def _test_manifest()
in features/0003-awses-message-encryption-generate.py
53 9 2
def build_manifest()
in features/0002-keys-generate.py
36 4 0
def _raw_rsa_providers()
in features/awses_message_encryption_utils.py
20 4 1
def build_tests()
in features/awses_message_encryption_utils.py
15 5 1
def main()
in features/0003-awses-message-encryption-generate.py
15 2 1
def main()
in features/0006-awses-message-decryption-generation-generate.py
14 2 1
def main()
in features/0002-keys-generate.py
12 2 1
def build_manifest()
in features/0006-awses-message-decryption-generation-generate.py
11 1 1
def build_manifest()
in features/0003-awses-message-encryption-generate.py
11 1 1
def _split_on_decryptable()
in features/awses_message_encryption_utils.py
10 4 3
def _aws_kms_providers()
in features/awses_message_encryption_utils.py
10 3 1
def _raw_aes_providers()
in features/awses_message_encryption_utils.py
10 2 1
def _tests_for_type()
in features/0003-awses-message-encryption-generate.py
6 4 2
def _tests_for_algorithm()
in features/0003-awses-message-encryption-generate.py
6 4 2
def _keys_for_algorithm()
in features/awses_message_encryption_utils.py
4 3 2
def _keys_for_type()
in features/awses_message_encryption_utils.py
4 3 2
def _keys_for_encryptval()
in features/awses_message_encryption_utils.py
4 3 2
def _keys_for_decryptval()
in features/awses_message_encryption_utils.py
4 3 2
def _providers()
in features/awses_message_encryption_utils.py
4 1 1