aws-samples / amazon-athena-train-amazon-sagemaker
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 733 units with 6,664 lines of code in units (70.3% of code).
    • 4 very long units (542 lines of code)
    • 5 long units (293 lines of code)
    • 43 medium size units (1,198 lines of code)
    • 132 small units (1,819 lines of code)
    • 549 very small units (2,812 lines of code)
8% | 4% | 17% | 27% | 42%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java8% | 4% | 17% | 27% | 42%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data16% | 12% | 18% | 22% | 30%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/handlers17% | 0% | 38% | 25% | 18%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/domain0% | 0% | 15% | 24% | 60%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/metadata0% | 0% | 12% | 26% | 60%
athena-udfs/src/main/java/com/amazonaws/athena/connectors/udfs0% | 0% | 27% | 39% | 32%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/records0% | 0% | 9% | 30% | 59%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda0% | 0% | 8% | 56% | 34%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/security0% | 0% | 0% | 63% | 36%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/serde0% | 0% | 0% | 39% | 60%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/udf0% | 0% | 0% | 45% | 54%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/request0% | 0% | 0% | 14% | 85%
athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/exceptions0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private Extractor makeExtractor()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/handlers/UserDefinedFunctionHandler.java
153 26 3
protected static void writeStructValue()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
133 35 4
protected static void writeListValue()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
130 34 4
public static void setValue()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
126 35 3
public static void unsetRow()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
67 20 2
public static String fieldToString()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
59 24 1
public static int compare()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/ArrowTypeComparator.java
58 25 3
private static void setNullValue()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
55 17 2
private Projection createSimpleValueProjection()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/projectors/ArrowValueProjectorImpl.java
54 20 1
protected final void doHandleRequest()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/handlers/MetadataHandler.java
49 6 4
private FieldWriter makeFieldWriter()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/writers/GeneratedRowWriter.java
43 15 1
public boolean equalsAsSet()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/Block.java
41 12 1
public static Class getJavaType()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
40 19 1
protected static void writeStruct()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
37 5 6
public boolean equals()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/Block.java
37 11 1
protected static void writeList()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockUtils.java
36 8 6
protected GetTableResponse doGetTable()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/handlers/GlueMetadataHandler.java
36 7 3
public int compare()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/domain/predicate/ValueMarkerComparator.java
35 16 2
public abstract ListSchemasResponse doListSchemaNames()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/handlers/MetadataHandler.java
34 4 2
public synchronized Block createBlock()
in athena-federation-sdk/src/main/java/com/amazonaws/athena/connector/lambda/data/BlockAllocatorImpl.java
32 7 1