aws-samples / aurora-and-database-migration-labs
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 248 units with 2,494 lines of code in units (48.6% of code).
    • 2 very long units (255 lines of code)
    • 4 long units (253 lines of code)
    • 19 medium size units (592 lines of code)
    • 44 small units (625 lines of code)
    • 179 very small units (769 lines of code)
10% | 10% | 23% | 25% | 30%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py10% | 10% | 24% | 23% | 30%
java0% | 0% | 0% | 65% | 34%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Labs/amazon-rds-purpose-built-workshop/src/ddb-python-script83% | 0% | 0% | 12% | 4%
Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql6% | 10% | 14% | 28% | 39%
Code/Aurora-to-Redshift-SnapshotExport-ELT/python0% | 40% | 59% | 0% | 0%
Code/PGPerfStatsSnapper0% | 0% | 91% | 0% | 8%
Code/AuroraSLDataAPIDemo/aslbootstrap0% | 0% | 100% | 0% | 0%
Labs/amazon-rds-purpose-built-workshop/src/ddb-stream-processor0% | 0% | 51% | 36% | 11%
Code/AuroraSLDataAPIDemo/amazon-rds-data-api-demo-master/src/main0% | 0% | 0% | 65% | 34%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def updateTripInfo()
in Labs/amazon-rds-purpose-built-workshop/src/ddb-python-script/util.py
136 37 2
def __init__()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
119 46 33
def _request_authentication()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
82 31 1
def connect()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
62 18 2
def lambda_handler()
in Code/Aurora-to-Redshift-SnapshotExport-ELT/python/rds_snap_exp_start_task.py
57 5 2
def _process_auth()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
52 17 3
def lambda_handler()
in Code/Aurora-to-Redshift-SnapshotExport-ELT/python/rds_snap_exp_check_snapshot.py
44 7 2
def getTripCompletionRecords()
in Labs/amazon-rds-purpose-built-workshop/src/ddb-stream-processor/lambda_function.py
44 41 1
def caching_sha2_password_auth()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/_auth.py
40 14 2
def _get_server_information()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
39 6 1
def lambda_handler()
in Code/Aurora-to-Redshift-SnapshotExport-ELT/python/rds_snap_exp_check_task_status.py
39 3 2
def getoptions()
in Code/PGPerfStatsSnapper/pg_perf_stat_snapper.py
38 1 0
def _do_execute_many()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/cursors.py
35 11 7
def getoptions()
in Code/PGPerfStatsSnapper/pg_perf_stat_loader.py
34 1 0
def _get_descriptions()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
31 10 1
def handler()
in Code/AuroraSLDataAPIDemo/aslbootstrap/aslbootstrap.py
30 4 2
def _execute_command()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
27 12 3
def _read_packet()
in Code/AuroraSLDataAPIDemo/aslbootstrap/pymysql/connections.py
26 7 2
def get_secret()
in Code/PGPerfStatsSnapper/pg_perf_stat_loader.py
25 7 2
def get_secret()
in Code/PGPerfStatsSnapper/pg_perf_stat_snapper.py
25 7 2