aws-samples / amazon-s3-object-lambda-default-configuration
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 70 units with 654 lines of code in units (59.0% of code).
    • 0 very long units (0 lines of code)
    • 0 long units (0 lines of code)
    • 8 medium size units (237 lines of code)
    • 14 small units (183 lines of code)
    • 48 very small units (234 lines of code)
0% | 0% | 36% | 27% | 35%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 0% | 43% | 25% | 30%
ts0% | 0% | 36% | 34% | 29%
py0% | 0% | 21% | 25% | 53%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
function/java11/src/main0% | 0% | 43% | 25% | 30%
function/nodejs_14_x/src/response0% | 0% | 80% | 0% | 19%
function/python_3_9/src/handler0% | 0% | 66% | 0% | 34%
function/nodejs_14_x/src/handler0% | 0% | 40% | 52% | 7%
function/python_3_9/src/response0% | 0% | 0% | 73% | 26%
function/nodejs_14_x/src/error0% | 0% | 0% | 100% | 0%
function/nodejs_14_x/src/request0% | 0% | 0% | 0% | 100%
function/python_3_9/src/request0% | 0% | 0% | 0% | 100%
function/python_3_9/src/error0% | 0% | 0% | 0% | 100%
function/nodejs_14_x/src0% | 0% | 0% | 0% | 100%
function/python_3_9/src/checksum0% | 0% | 0% | 0% | 100%
function/nodejs_14_x/src/checksum0% | 0% | 0% | 0% | 100%
function/python_3_9/src0% | 0% | 0% | 0% | 100%
function/python_3_9/src/transform0% | 0% | 0% | 0% | 100%
function/nodejs_14_x/src/transform0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public TransformedObject mapRange()
in function/java11/src/main/java/com/amazon/s3objectlambda/transform/RangeMapper.java
41 9 2
export default function mapRange()
in function/nodejs_14_x/src/response/range_mapper.ts
34 9 2
def get_object_handler()
in function/python_3_9/src/handler/get_object_handler.py
33 10 3
public static String getAttributeFromS3ErrorResponse()
in function/java11/src/main/java/com/amazon/s3objectlambda/response/ResponseUtil.java
29 4 2
export default async function handleGetObjectRequest()
in function/nodejs_14_x/src/handler/get_object_handler.ts
29 6 3
public void handleRequest()
in function/java11/src/main/java/com/amazon/s3objectlambda/request/GetObjectHandler.java
27 5 2
private HttpResponse getS3ObjectResponse()
in function/java11/src/main/java/com/amazon/s3objectlambda/request/GetObjectHandler.java
22 3 2
public TransformedObject mapPartNumber()
in function/java11/src/main/java/com/amazon/s3objectlambda/transform/PartNumberMapper.java
22 4 2
public void writeS3GetObjectErrorResponse()
in function/java11/src/main/java/com/amazon/s3objectlambda/response/ObjectResponse.java
18 2 1
public static TransformedObject applyRangeOrPartNumber()
in function/java11/src/main/java/com/amazon/s3objectlambda/transform/ResponseTransformer.java
15 3 2
async function writeResponse()
in function/nodejs_14_x/src/handler/get_object_handler.ts
15 1 4
def validate_range_str()
in function/python_3_9/src/response/range_mapper.py
14 10 1
public static Map getChecksum()
in function/java11/src/main/java/com/amazon/s3objectlambda/checksum/Checksum.java
14 2 1
def map_part_number()
in function/python_3_9/src/response/part_number_mapper.py
13 4 2
private static String getQueryParam()
in function/java11/src/main/java/com/amazon/s3objectlambda/request/RequestUtil.java
13 4 2
def map_range()
in function/python_3_9/src/response/range_mapper.py
12 4 2
public ResponseErrorCode()
in function/java11/src/main/java/com/amazon/s3objectlambda/error/ResponseErrorCode.java
12 1 0
export async function getErrorResponse()
in function/nodejs_14_x/src/error/error_response.ts
12 1 5
export async function getResponseForS3Errors()
in function/nodejs_14_x/src/error/error_response.ts
12 1 4
public void writeObjectResponse()
in function/java11/src/main/java/com/amazon/s3objectlambda/response/ObjectResponse.java
11 1 2