aws-amplify / aws-sdk-android
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 73,951 units with 619,398 lines of code in units (80.1% of code).
    • 77 very long units (10,560 lines of code)
    • 759 long units (49,052 lines of code)
    • 6,076 medium size units (179,642 lines of code)
    • 7,505 small units (116,762 lines of code)
    • 59,534 very small units (263,382 lines of code)
1% | 7% | 29% | 18% | 42%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java1% | 7% | 28% | 18% | 42%
py0% | 18% | 37% | 29% | 15%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
aws-android-sdk-cognitoidentityprovider5% | 9% | 31% | 15% | 37%
aws-android-sdk-ec21% | 4% | 14% | 25% | 54%
aws-android-sdk-iot1% | 7% | 34% | 17% | 39%
aws-android-sdk-ddb4% | 7% | 30% | 17% | 40%
aws-android-sdk-core4% | 8% | 23% | 17% | 45%
aws-android-sdk-pinpoint1% | 13% | 29% | 15% | 40%
aws-android-sdk-transcribe2% | 10% | 31% | 16% | 37%
aws-android-sdk-cloudwatch9% | 4% | 26% | 17% | 41%
aws-android-sdk-mobile-client14% | 13% | 22% | 16% | 33%
aws-android-sdk-s31% | 7% | 20% | 16% | 53%
aws-android-sdk-kms1% | 10% | 34% | 13% | 39%
aws-android-sdk-connect<1% | 7% | 33% | 19% | 38%
aws-android-sdk-lex3% | 9% | 29% | 11% | 46%
aws-android-sdk-ddb-mapper4% | 8% | 18% | 22% | 46%
aws-android-sdk-location1% | 7% | 35% | 16% | 40%
aws-android-sdk-translate2% | 12% | 26% | 17% | 40%
aws-android-sdk-machinelearning7% | 8% | 27% | 9% | 45%
aws-android-sdk-polly2% | 12% | 25% | 13% | 46%
aws-android-sdk-comprehend<1% | 12% | 32% | 16% | 38%
aws-android-sdk-rekognition0% | 7% | 33% | 18% | 40%
aws-android-sdk-chimesdkmessaging0% | 7% | 36% | 16% | 38%
aws-android-sdk-ses0% | 4% | 24% | 30% | 41%
aws-android-sdk-logs0% | 7% | 39% | 16% | 36%
aws-android-sdk-kinesis0% | 7% | 37% | 15% | 39%
aws-android-sdk-textract0% | 6% | 30% | 20% | 42%
aws-android-sdk-chimesdkidentity0% | 6% | 35% | 18% | 38%
aws-android-sdk-kinesisvideo0% | 3% | 29% | 19% | 47%
aws-android-sdk-kinesisvideo-archivedmedia0% | 12% | 22% | 17% | 47%
aws-android-sdk-sqs0% | 4% | 27% | 23% | 44%
aws-android-sdk-sns0% | 3% | 23% | 30% | 42%
aws-android-sdk-connectparticipant0% | 9% | 28% | 20% | 41%
aws-android-sdk-cognitoauth0% | 13% | 32% | 19% | 34%
aws-android-sdk-auth-userpools0% | 6% | 26% | 24% | 42%
aws-android-sdk-auth-core0% | 6% | 19% | 20% | 53%
aws-android-sdk-ddb-document0% | 3% | 23% | 20% | 52%
CircleciScripts0% | 18% | 37% | 29% | 15%
aws-android-sdk-sdb0% | 0% | 14% | 23% | 61%
aws-android-sdk-kinesisvideo-signaling0% | 0% | 38% | 14% | 46%
aws-android-sdk-lambda0% | 0% | 19% | 11% | 68%
aws-android-sdk-sagemaker-runtime0% | 0% | 28% | 20% | 50%
aws-android-sdk-testutils0% | 0% | 19% | 35% | 44%
aws-android-sdk-auth-google0% | 0% | 44% | 31% | 24%
aws-android-sdk-apigateway-core0% | 0% | 30% | 21% | 48%
aws-android-sdk-auth-facebook0% | 0% | 55% | 8% | 36%
aws-android-sdk-auth-ui0% | 0% | 14% | 37% | 47%
aws-android-sdk-cognitoidentityprovider-asf0% | 0% | 0% | 43% | 56%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public static List getRegions()
in aws-android-sdk-core/src/main/java/com/amazonaws/regions/RegionDefaults.java
496 1 0
static
in aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/PhoneNumberCountryCode.java
240 1 0
private void processKeyConditions()
in aws-android-sdk-ddb-mapper/src/main/java/com/amazonaws/mobileconnectors/dynamodbv2/dynamodbmapper/DynamoDBMapper.java
223 58 4
public Request marshall()
in aws-android-sdk-ec2/src/main/java/com/amazonaws/services/ec2/model/transform/RequestSpotFleetRequestMarshaller.java
216 67 1
public void marshall()
in aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/services/cognitoidentityprovider/model/transform/UserPoolTypeJsonMarshaller.java
204 42 2
public Request marshall()
in aws-android-sdk-ec2/src/main/java/com/amazonaws/services/ec2/model/transform/RequestSpotInstancesRequestMarshaller.java
201 62 1
public Request marshall()
in aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/services/cognitoidentityprovider/model/transform/UpdateUserPoolClientRequestMarshaller.java
194 40 1
public Request marshall()
in aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/services/cognitoidentityprovider/model/transform/CreateUserPoolClientRequestMarshaller.java
194 40 1
public Request marshall()
in aws-android-sdk-ec2/src/main/java/com/amazonaws/services/ec2/model/transform/RunInstancesRequestMarshaller.java
192 59 1
public Request marshall()
in aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/services/cognitoidentityprovider/model/transform/CreateUserPoolRequestMarshaller.java
189 35 1
public Request marshall()
in aws-android-sdk-ddb/src/main/java/com/amazonaws/services/dynamodbv2/model/transform/QueryRequestMarshaller.java
174 33 1
public void marshall()
in aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/services/cognitoidentityprovider/model/transform/UserPoolClientTypeJsonMarshaller.java
173 40 2
public Request marshall()
in aws-android-sdk-ec2/src/main/java/com/amazonaws/services/ec2/model/transform/RunScheduledInstancesRequestMarshaller.java
169 52 1
public boolean equals()
in aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/services/cognitoidentityprovider/model/UserPoolType.java
165 97 1
public Instance unmarshall()
in aws-android-sdk-ec2/src/main/java/com/amazonaws/services/ec2/model/transform/InstanceStaxUnmarshaller.java
164 44 1
public Request marshall()
in aws-android-sdk-transcribe/src/main/java/com/amazonaws/services/transcribe/model/transform/StartTranscriptionJobRequestMarshaller.java
162 30 1
public Request marshall()
in aws-android-sdk-ddb/src/main/java/com/amazonaws/services/dynamodbv2/model/transform/ScanRequestMarshaller.java
157 30 1
Response executeHelper()
in aws-android-sdk-core/src/main/java/com/amazonaws/http/AmazonHttpClient.java
152 28 4
public void marshall()
in aws-android-sdk-cloudwatch/src/main/java/com/amazonaws/services/cloudwatch/model/transform/MetricAlarmStaxMarshaller.java
148 30 3
public Request marshall()
in aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/services/cognitoidentityprovider/model/transform/UpdateUserPoolRequestMarshaller.java
147 25 1