awslabs / amazon-dynamodb-lock-client
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 187 units with 1,385 lines of code in units (72.7% of code).
    • 1 very long units (116 lines of code)
    • 2 long units (149 lines of code)
    • 9 medium size units (278 lines of code)
    • 13 small units (179 lines of code)
    • 162 very small units (663 lines of code)
8% | 10% | 20% | 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
java8% | 10% | 20% | 12% | 47%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
dynamodbv28% | 11% | 20% | 13% | 46%
dynamodbv2/model0% | 0% | 0% | 0% | 100%
dynamodbv2/util0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public LockItem acquireLock()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
116 38 1
public void sendHeartbeat()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
78 17 1
public boolean releaseLock()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
71 8 1
private LockItem upsertAndMonitorReleasedLock()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
50 7 9
public static void createLockTableInDynamoDB()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
35 2 1
private LockItem upsertAndMonitorExpiredLock()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
33 4 9
private LockItem upsertAndMonitorNewLock()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
33 4 8
public AmazonDynamoDBLockClient()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
30 3 1
public void run()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
30 9 0
private String getUpdateExpressionAndUpdateNameValueMaps()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
23 3 3
private LockItem createLockItem()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
23 1 2
public boolean equals()
in src/main/java/com/amazonaws/services/dynamodbv2/AcquireLockOptions.java
21 17 1
private AcquireLockOptions()
in src/main/java/com/amazonaws/services/dynamodbv2/AcquireLockOptions.java
20 1 15
private Thread lockSessionMonitorChecker()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
18 4 2
public Optional getLock()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
17 4 2
public Stream getLocksByPartitionKey()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
17 1 2
private AmazonDynamoDBLockClientOptions()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClientOptions.java
15 1 11
public void close()
in src/main/java/com/amazonaws/services/dynamodbv2/AmazonDynamoDBLockClient.java
13 3 0
public AcquireLockOptions build()
in src/main/java/com/amazonaws/services/dynamodbv2/AcquireLockOptions.java
12 2 0
protected void loadNextPageIntoResults()
in src/main/java/com/amazonaws/services/dynamodbv2/LockItemPaginatedQueryIterator.java
12 1 0