aws-samples / aws-ingesting-click-logs-using-terraform
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 units with 485 lines of code in units (39.4% of code).
    • 0 very long units (0 lines of code)
    • 2 long units (172 lines of code)
    • 1 medium size units (22 lines of code)
    • 4 small units (62 lines of code)
    • 66 very small units (229 lines of code)
0% | 35% | 4% | 12% | 47%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 35% | 4% | 12% | 47%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
source/clicklogger/src/main/java/com/clicklogs/Handlers0% | 70% | 9% | 13% | 6%
source/clicklogger/src/main/java/com/clicklogs/Authorizer0% | 0% | 0% | 21% | 78%
source/clicklogger/src/main/java/com/clicklogs/model0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public KinesisAnalyticsInputPreprocessingResponse handleRequest()
in source/clicklogger/src/main/java/com/clicklogs/Handlers/ClickLoggerStreamHandler.java
97 15 2
public ClickLogResponse handleRequest()
in source/clicklogger/src/main/java/com/clicklogs/Handlers/ClickLoggerHandler.java
75 13 2
public AuthPolicy handleRequest()
in source/clicklogger/src/main/java/com/clicklogs/Handlers/APIGatewayAuthorizerHandler.java
22 2 2
private Boolean updateClickLogRequestToStream()
in source/clicklogger/src/main/java/com/clicklogs/Handlers/ClickLoggerHandler.java
19 2 1
public Map getPolicyDocument()
in source/clicklogger/src/main/java/com/clicklogs/Authorizer/AuthPolicy.java
17 2 0
private PutItemOutcome updateClickData()
in source/clicklogger/src/main/java/com/clicklogs/Handlers/ClickLoggerStreamHandler.java
15 1 1
public PolicyDocument()
in source/clicklogger/src/main/java/com/clicklogs/Authorizer/AuthPolicy.java
11 1 4
private void initDynamoDbClient()
in source/clicklogger/src/main/java/com/clicklogs/Handlers/ClickLoggerStreamHandler.java
10 2 0
private void addResourceToStatement()
in source/clicklogger/src/main/java/com/clicklogs/Authorizer/AuthPolicy.java
8 4 3
private Boolean updateClickLogs()
in source/clicklogger/src/main/java/com/clicklogs/Handlers/ClickLoggerStreamHandler.java
6 1 1
public Statement()
in source/clicklogger/src/main/java/com/clicklogs/Authorizer/AuthPolicy.java
6 1 4
public ResponseBuilder badRequest()
in source/clicklogger/src/main/java/com/clicklogs/model/ResponseBuilder.java
5 1 1
public ClickLogResponse()
in source/clicklogger/src/main/java/com/clicklogs/model/ClickLogResponse.java
5 1 3
public static PolicyDocument getAllowOnePolicy()
in source/clicklogger/src/main/java/com/clicklogs/Authorizer/AuthPolicy.java
5 1 6
public static PolicyDocument getDenyOnePolicy()
in source/clicklogger/src/main/java/com/clicklogs/Authorizer/AuthPolicy.java
5 1 6
public TokenAuthorizerContext()
in source/clicklogger/src/main/java/com/clicklogs/Authorizer/TokenAuthorizerContext.java
5 1 3
public ResponseBuilder headers()
in source/clicklogger/src/main/java/com/clicklogs/model/ResponseBuilder.java
4 1 1
public ResponseBuilder body()
in source/clicklogger/src/main/java/com/clicklogs/model/ResponseBuilder.java
4 1 1
public ResponseBuilder ok()
in source/clicklogger/src/main/java/com/clicklogs/model/ResponseBuilder.java
4 1 0
public ResponseBuilder originHeader()
in source/clicklogger/src/main/java/com/clicklogs/model/ResponseBuilder.java
4 1 1