awslabs / flux-swf-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 405 units with 3,784 lines of code in units (72.8% of code).
    • 2 very long units (362 lines of code)
    • 9 long units (657 lines of code)
    • 26 medium size units (797 lines of code)
    • 44 small units (667 lines of code)
    • 324 very small units (1,301 lines of code)
9% | 17% | 21% | 17% | 34%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java9% | 17% | 21% | 17% | 34%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
flux/src/main/java/software/amazon/aws/clients/swf/flux/poller23% | 23% | 15% | 11% | 25%
flux/src/main/java/software/amazon/aws/clients/swf/flux/wf0% | 43% | 16% | 21% | 18%
flux/src/main/java/software/amazon/aws/clients/swf/flux/util0% | 49% | 0% | 26% | 23%
flux/src/main/java/software/amazon/aws/clients/swf/flux0% | 0% | 34% | 30% | 35%
flux-common/src/main/java/software/amazon/aws/clients/swf/flux/step0% | 0% | 40% | 14% | 45%
flux-testutils/src/main/java/software/amazon/aws/clients/swf/flux/testutil0% | 0% | 23% | 37% | 39%
flux-common/src/main/java/software/amazon/aws/clients/swf/flux/poller0% | 0% | 26% | 0% | 73%
flux-guice/src/main/java/software/amazon/aws/clients/swf/flux/guice0% | 0% | 25% | 0% | 75%
flux-common/src/main/java/software/amazon/aws/clients/swf/flux/metrics0% | 0% | 0% | 18% | 81%
flux-testutils/src/main/java/software/amazon/aws/clients/swf/flux/metrics0% | 0% | 0% | 0% | 100%
flux-spring/src/main/java/software/amazon/aws/clients/swf/flux/spring0% | 0% | 0% | 0% | 100%
flux-common/src/main/java/software/amazon/aws/clients/swf/flux/wf0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private static List handleStepScheduling()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/DecisionTaskPoller.java
186 46 8
public static WorkflowState build()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/WorkflowState.java
176 47 1
static RespondDecisionTaskCompletedRequest decide()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/DecisionTaskPoller.java
90 20 7
private static Decision handleWorkflowCompletion()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/DecisionTaskPoller.java
90 14 4
private void executeWithHeartbeat()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/ActivityTaskPoller.java
79 13 3
public WorkflowGraphBuilder addStep()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/wf/graph/WorkflowGraphBuilder.java
77 22 1
public static T executeWithInlineBackoff()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/util/RetryUtils.java
72 12 5
public WorkflowGraph build()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/wf/graph/WorkflowGraphBuilder.java
68 18 0
private void validateAttributeAvailability()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/wf/graph/WorkflowGraphBuilder.java
67 16 6
public void run()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/ActivityExecutor.java
62 14 0
private static List handleSignal()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/DecisionTaskPoller.java
52 8 5
private void validateHookAttributeAvailability()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/wf/graph/WorkflowGraphBuilder.java
49 11 5
public static StepResult executeHooks()
in flux-common/src/main/java/software/amazon/aws/clients/swf/flux/step/WorkflowStepUtil.java
47 9 6
private void initializePollers()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/FluxCapacitorImpl.java
43 6 0
public WorkflowStatusChecker executeWorkflow()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/FluxCapacitorImpl.java
39 5 3
private Runnable pollForActivityTask()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/ActivityTaskPoller.java
39 8 1
public WorkflowStatusChecker executeWorkflow()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/RemoteWorkflowExecutorImpl.java
37 4 3
private PollForDecisionTaskResponse fillInEventHistory()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/poller/DecisionTaskPoller.java
36 5 2
public WorkflowStatus checkStatus()
in flux/src/main/java/software/amazon/aws/clients/swf/flux/WorkflowStatusCheckerImpl.java
33 10 0
public static StepResult executeActivity()
in flux-common/src/main/java/software/amazon/aws/clients/swf/flux/poller/ActivityExecutionUtil.java
33 7 5