amazon-connect / amazon-connect-realtime-transcription
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 93 units with 965 lines of code in units (68.6% of code).
    • 0 very long units (0 lines of code)
    • 2 long units (120 lines of code)
    • 15 medium size units (447 lines of code)
    • 11 small units (141 lines of code)
    • 65 very small units (257 lines of code)
0% | 12% | 46% | 14% | 26%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 8% | 40% | 18% | 32%
js0% | 47% | 47% | 0% | 4%
py0% | 0% | 91% | 0% | 8%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/main/java/com/amazonaws/kvstranscribestreaming0% | 11% | 37% | 21% | 28%
functions0% | 27% | 66% | 0% | 5%
src/main/java/com/amazonaws/transcribestreaming0% | 0% | 49% | 10% | 40%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private void startKVSToTranscribeStreaming()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSTranscribeStreamingLambda.java
64 16 8
function combineAudio()
in functions/process_contact.js
56 8 4
def handle_dynamo()
in functions/overlay_audio.py
43 5 2
public static InputStream getInputStreamFromKVS()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSUtils.java
41 4 5
def merge_audio()
in functions/overlay_audio.py
36 2 1
private void recursiveStartStream()
in src/main/java/com/amazonaws/transcribestreaming/TranscribeStreamingRetryClient.java
35 5 6
public static void uploadRawAudio()
in src/main/java/com/amazonaws/kvstranscribestreaming/AudioUtils.java
32 5 7
function getTranscript()
in functions/process_contact.js
31 4 2
private Item toDynamoDbItem()
in src/main/java/com/amazonaws/kvstranscribestreaming/TranscribedSegmentWriter.java
30 4 1
public static ByteBuffer getByteBufferFromStream()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSUtils.java
29 6 6
public static ByteBuffer getByteBufferFromStream()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSUtils.java
28 8 5
public void request()
in src/main/java/com/amazonaws/transcribestreaming/KVSByteToAudioEventSubscription.java
26 5 1
public String handleRequest()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSTranscribeStreamingLambda.java
25 3 2
function updateDynamo()
in functions/kvs_trigger.js
25 2 1
public void request()
in src/main/java/com/amazonaws/transcribestreaming/FileByteToAudioEventSubscription.java
23 5 1
private StartStreamTranscriptionResponseHandler getResponseHandler()
in src/main/java/com/amazonaws/transcribestreaming/TranscribeStreamingRetryClient.java
22 2 1
private void startFileToTranscribeStreaming()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSTranscribeStreamingLambda.java
21 3 2
public void writeToDynamoDB()
in src/main/java/com/amazonaws/kvstranscribestreaming/TranscribedSegmentWriter.java
18 6 2
private CompletableFuture getStartStreamingTranscriptionFuture()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSTranscribeStreamingLambda.java
17 1 7
private void closeFileAndUploadRawAudio()
in src/main/java/com/amazonaws/kvstranscribestreaming/KVSTranscribeStreamingLambda.java
15 5 3