aws / aws-encryption-sdk-cli
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 84 units with 952 lines of code in units (50.4% of code).
    • 1 very long units (162 lines of code)
    • 1 long units (53 lines of code)
    • 7 medium size units (208 lines of code)
    • 16 small units (246 lines of code)
    • 59 very small units (283 lines of code)
17% | 5% | 21% | 25% | 29%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py17% | 5% | 21% | 25% | 29%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/aws_encryption_sdk_cli17% | 5% | 22% | 26% | 27%
doc0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
api_compatibility_tests0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def _build_parser()
in src/aws_encryption_sdk_cli/internal/arg_parsing.py
162 5 0
def process_cli_request()
in src/aws_encryption_sdk_cli/__init__.py
53 11 2
def _single_io_write()
in src/aws_encryption_sdk_cli/internal/io_handling.py
43 7 4
def cli()
in src/aws_encryption_sdk_cli/__init__.py
31 4 1
def _process_discovery_args()
in src/aws_encryption_sdk_cli/internal/arg_parsing.py
31 17 1
def _load_master_key_provider()
in src/aws_encryption_sdk_cli/internal/master_key_parsing.py
30 8 1
def process_single_file()
in src/aws_encryption_sdk_cli/internal/io_handling.py
26 12 4
def parse_args()
in src/aws_encryption_sdk_cli/internal/arg_parsing.py
25 6 1
def _discover_entry_points()
in src/aws_encryption_sdk_cli/internal/master_key_parsing.py
22 3 0
def _catch_bad_metadata_file_requests()
in src/aws_encryption_sdk_cli/__init__.py
20 11 3
def _should_write_file()
in src/aws_encryption_sdk_cli/internal/io_handling.py
20 9 2
def json_ready_header()
in src/aws_encryption_sdk_cli/internal/metadata.py
20 5 1
def stream_kwargs_from_args()
in src/aws_encryption_sdk_cli/__init__.py
19 11 2
def _warn_deprecated_python()
in src/aws_encryption_sdk_cli/compatability.py
18 2 0
def _process_kms_key_config()
in src/aws_encryption_sdk_cli/internal/arg_parsing.py
17 15 2
def process_single_operation()
in src/aws_encryption_sdk_cli/internal/io_handling.py
16 4 4
def process_dir()
in src/aws_encryption_sdk_cli/internal/io_handling.py
15 3 5
def __call__()
in src/aws_encryption_sdk_cli/internal/metadata.py
15 5 2
def _parse_kwargs()
in src/aws_encryption_sdk_cli/internal/arg_parsing.py
14 5 1
def setup_logger()
in src/aws_encryption_sdk_cli/internal/logging_utils.py
14 1 2