aws-amplify / aws-sdk-ios
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 626 units with 12,199 lines of code in units (3.8% of code).
    • 10 very long units (1,364 lines of code)
    • 51 long units (3,412 lines of code)
    • 122 medium size units (3,807 lines of code)
    • 121 small units (1,828 lines of code)
    • 322 very small units (1,788 lines of code)
11% | 27% | 31% | 14% | 14%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
c24% | 28% | 34% | 10% | 2%
swift7% | 33% | 32% | 13% | 11%
m0% | 22% | 26% | 29% | 20%
h0% | 0% | 14% | 22% | 62%
py0% | 0% | 34% | 36% | 28%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
AWSCognitoIdentityProvider24% | 27% | 33% | 10% | 2%
AWSS3Tests14% | 57% | 26% | 2% | 0%
AWSIoTTests7% | 28% | 54% | 4% | 4%
AWSAuthSDK10% | 5% | 24% | 34% | 24%
AWSIoTFreeRTOSOTATests0% | 16% | 7% | 25% | 51%
AWSCore0% | 17% | 27% | 22% | 31%
AWSTranscribeTests0% | 67% | 23% | 6% | 2%
AWSTranscribeStreamingTests0% | 100% | 0% | 0% | 0%
AWSKinesisVideoArchivedMediaTests0% | 100% | 0% | 0% | 0%
AWSDynamoDBTests0% | 73% | 26% | 0% | 0%
AWSAPIGatewayTests0% | 0% | 86% | 13% | 0%
CircleciScripts0% | 0% | 34% | 36% | 28%
AWSRekognitionTests0% | 0% | 100% | 0% | 0%
AWSIoT0% | 0% | 36% | 25% | 38%
AWSKinesisVideoTests0% | 0% | 100% | 0% | 0%
AWSTranslateTests0% | 0% | 100% | 0% | 0%
AWSCognitoAuth0% | 0% | 43% | 0% | 56%
AWSTextractTests0% | 0% | 100% | 0% | 0%
AWSComprehendTests0% | 0% | 15% | 84% | 0%
AWSLocation0% | 0% | 0% | 39% | 60%
AWSChimeSDKIdentity0% | 0% | 0% | 67% | 32%
AWSChimeSDKMessaging0% | 0% | 0% | 34% | 65%
AWSSimpleDB0% | 0% | 0% | 100% | 0%
AWSLocationTests0% | 0% | 0% | 56% | 43%
AWSConnectParticipant0% | 0% | 0% | 32% | 67%
AWSKinesisVideo0% | 0% | 0% | 29% | 70%
AWSS30% | 0% | 0% | 47% | 52%
AWSTranscribeStreaming0% | 0% | 0% | 0% | 100%
AWSLex0% | 0% | 0% | 0% | 100%
AWSPinpoint0% | 0% | 0% | 0% | 100%
AWSKinesisVideoSignaling0% | 0% | 0% | 0% | 100%
AWSPolly0% | 0% | 0% | 0% | 100%
AWSKinesis0% | 0% | 0% | 0% | 100%
AWSDynamoDB0% | 0% | 0% | 0% | 100%
AWSAPIGateway0% | 0% | 0% | 0% | 100%
AWSAllTestsHost0% | 0% | 0% | 0% | 100%
AWSLambda0% | 0% | 0% | 0% | 100%
AWSConnectTests0% | 0% | 0% | 0% | 100%
AWSConnectParticipantTests0% | 0% | 0% | 0% | 100%
AWSKinesisVideoSignalingTests0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
int aws_mp_exptmod_fast()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
206 58 5
int aws_mp_toom_mul()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
196 60 3
int aws_s_mp_exptmod()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
162 49 5
int aws_mp_div()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
135 36 4
func testGetTasksWithRemovingCompletedTasksEnabled()
in AWSS3Tests/AWSS3TransferUtilityTests.swift
115 8 0
func testReRegisterTransferUtility()
in AWSS3Tests/AWSS3TransferUtilityTests.swift
113 8 0
int aws_mp_invmod_slow()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
111 39 3
func testMultiBroker()
in AWSIoTTests/AWSIoTDataManagerTests.swift
110 10 4
initializationQueue.sync()
in AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.swift
108 22 1
func testGetTasks()
in AWSS3Tests/AWSS3TransferUtilityTests.swift
108 8 0
int aws_mp_prime_next_prime()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
95 32 3
func testStreamingExample()
in AWSTranscribeStreamingTests/AWSTranscribeStreamingSwiftTests.swift
95 6 0
func testVocabularyOperations()
in AWSTranscribeTests/AWSTranscribeTests.swift
92 9 0
int aws_mp_karatsuba_mul()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
86 22 3
int aws_fast_mp_invmod()
in AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c
85 26 3
func decodeContainer()
in AWSIoTFreeRTOSOTATests/Support/SwiftCBOR/Decoder/UnkeyedDecodingContainer.swift
83 27 0
NSLocalizedDescriptionKey: NSLocalizedString()
in AWSCore/Mantle/AWSMTLManagedObjectAdapter.m
83 14 2
func testSuspendResumeUploadAndDownloadLargeDataLongDelay()
in AWSS3Tests/AWSS3TransferUtilityTests.swift
81 4 0
func testSuspendResumeUploadAndDownloadLargeData()
in AWSS3Tests/AWSS3TransferUtilityTests.swift
79 4 0
func testGetHlsStreamingSessionUrl()
in AWSKinesisVideoArchivedMediaTests/AWSKinesisVideoArchivedMediaTests.swift
78 3 0