microsoft / java-debug
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 894 units with 8,745 lines of code in units (65.4% of code).
    • 2 very long units (343 lines of code)
    • 18 long units (1,173 lines of code)
    • 77 medium size units (2,241 lines of code)
    • 139 small units (2,000 lines of code)
    • 658 very small units (2,988 lines of code)
3% | 13% | 25% | 22% | 34%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java4% | 13% | 24% | 23% | 34%
js0% | 0% | 70% | 14% | 14%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler14% | 28% | 25% | 17% | 13%
com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal0% | 9% | 26% | 33% | 30%
com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core0% | 17% | 21% | 21% | 38%
com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/eval0% | 22% | 44% | 25% | 7%
com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/variables0% | 0% | 30% | 29% | 39%
com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter0% | 0% | 18% | 16% | 65%
scripts0% | 0% | 70% | 14% | 14%
com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/protocol0% | 0% | 14% | 6% | 78%
com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/formatter0% | 0% | 10% | 19% | 70%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public CompletableFuture handle()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/VariablesRequestHandler.java
232 71 4
public CompletableFuture handle()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/EvaluateRequestHandler.java
111 35 4
public CompletableFuture launchInTerminal()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/LaunchWithDebuggingDelegate.java
98 13 3
private static ILaunch createILaunchMock()
in com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/eval/JdtEvaluationProvider.java
84 3 2
private static List parseArgumentsWindows()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/DebugUtility.java
80 23 1
public CompletableFuture handle()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/InlineValuesRequestHandler.java
77 22 4
protected CompletableFuture handleLaunchCommand()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/LaunchRequestHandler.java
71 17 3
public CompletableFuture handle()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/StepRequestHandler.java
71 15 4
public CompletableFuture handle()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/SetVariableRequestHandler.java
69 14 4
private static List parseArgumentsNonWindows()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/DebugUtility.java
63 21 1
public CompletableFuture handle()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/SetBreakpointsRequestHandler.java
61 20 4
private void resolveValuesFromThisVariable()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/InlineValuesRequestHandler.java
60 25 4
public static IDebugSession launch()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/DebugUtility.java
58 12 9
public boolean visit()
in com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/JavaHotCodeReplaceProvider.java
58 15 1
private List resolveMainClassUnderPaths()
in com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/ResolveMainClassHandler.java
58 15 1
private void handleDebugEvent()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/StepRequestHandler.java
56 17 4
private List resolveMainClassUnderProject()
in com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/ResolveMainClassHandler.java
54 12 1
private void handleDebugEvent()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/ConfigurationDoneRequestHandler.java
52 13 3
public CompletableFuture handle()
in com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/adapter/handler/SetDataBreakpointsRequestHandler.java
52 16 4
private String doHotCodeReplace()
in com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/JavaHotCodeReplaceProvider.java
51 16 2