boto / botocore
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 1,519 units with 11,874 lines of code in units (81.8% of code).
    • 0 very long units (0 lines of code)
    • 9 long units (514 lines of code)
    • 78 medium size units (2,195 lines of code)
    • 263 small units (3,791 lines of code)
    • 1,169 very small units (5,374 lines of code)
0% | 4% | 18% | 31% | 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% | 4% | 18% | 31% | 45%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
botocore0% | 4% | 18% | 31% | 44%
botocore/crt0% | 0% | 47% | 22% | 29%
botocore/vendored0% | 0% | 15% | 22% | 62%
botocore/retries0% | 0% | 5% | 46% | 48%
botocore/vendored/requests/packages/urllib30% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
botocore/vendored/requests0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def _format_error()
in botocore/validate.py
66 10 2
def compute_client_args()
in botocore/args.py
65 15 8
def redirect_from_error()
in botocore/utils.py
61 8 5
def create_client()
in botocore/session.py
57 14 11
def __iter__()
in botocore/paginate.py
55 8 1
def create_credential_resolver()
in botocore/credentials.py
55 6 3
def send()
in botocore/httpsession.py
52 11 2
def wait()
in botocore/waiter.py
52 10 2
def get_client_args()
in botocore/args.py
51 1 10
def print_()
in botocore/vendored/six.py
50 22 2
def _make_api_call()
in botocore/client.py
44 4 3
def _get_role_config()
in botocore/credentials.py
41 9 2
def add_auth()
in botocore/crt/auth.py
41 6 2
def add_auth()
in botocore/crt/auth.py
41 6 2
def _resolve()
in botocore/regions.py
39 6 7
def sign()
in botocore/signers.py
39 10 7
def _windows_shell_split()
in botocore/compat.py
39 13 1
def _do_get_response()
in botocore/endpoint.py
38 6 3
def _endpoint_for_partition()
in botocore/regions.py
37 17 7
def serialize_to_request()
in botocore/serialize.py
36 8 3