aws / aws-swf-flow-library
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 1,907 units with 12,224 lines of code in units (76.1% of code).
    • 2 very long units (269 lines of code)
    • 13 long units (874 lines of code)
    • 63 medium size units (1,829 lines of code)
    • 175 small units (2,571 lines of code)
    • 1,654 very small units (6,681 lines of code)
2% | 7% | 14% | 21% | 54%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java2% | 7% | 14% | 21% | 54%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
flow/worker3% | 1% | 21% | 27% | 46%
flow/pojo11% | 7% | 26% | 30% | 24%
flow/generic0% | 20% | 3% | 13% | 61%
flow/core0% | 11% | 15% | 17% | 55%
flow0% | 6% | 4% | 11% | 78%
flow/junit0% | 13% | 0% | 14% | 72%
flow/common0% | 19% | 4% | 40% | 34%
flow/spring0% | 9% | 13% | 8% | 69%
flow/interceptors0% | 0% | 37% | 19% | 43%
flow/aspectj0% | 0% | 27% | 28% | 43%
flow/annotations0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private void processEvent()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/AsyncDecider.java
159 55 2
private void addWorkflowType()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/pojo/POJOWorkflowDefinitionFactoryFactory.java
110 23 5
private static String prettyPrintObject()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/common/WorkflowExecutionUtils.java
93 29 5
public String toString()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/core/AsyncTaskInfo.java
86 22 0
private void addActivities()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/pojo/POJOActivityImplementationFactory.java
74 19 6
public Promise startWorkflowExecution()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/DynamicWorkflowClientImpl.java
69 13 4
public WorkflowContext getWorkflowContext()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/spring/SpringWorkflowDefinitionFactoryFactory.java
69 1 0
private void asyncEvaluate()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/junit/WorkflowTestStatement.java
67 11 1
public ContinueAsNewWorkflowExecutionParameters createContinueAsNewParametersFromOptions()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/generic/ContinueAsNewWorkflowExecutionParameters.java
65 19 2
public StartWorkflowExecutionParameters createStartWorkflowExecutionParametersFromOptions()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/generic/StartWorkflowExecutionParameters.java
65 21 2
public void execute()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/ActivityTaskPoller.java
63 12 1
public Promise scheduleActivity()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/DynamicActivitiesClientImpl.java
59 11 5
public ExecuteActivityParameters createExecuteActivityParametersFromOptions()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/generic/ExecuteActivityParameters.java
57 17 2
public void evaluate()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/junit/WorkflowTestStatement.java
56 13 0
public void run()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/core/TryCatchFinallyContext.java
51 12 0
private void fillNext()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/HistoryHelper.java
50 11 0
public void cancel()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/core/ExternalTaskContext.java
48 12 1
public Promise startChildWorkflow()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/GenericWorkflowClientImpl.java
48 7 1
public void decide()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/AsyncDecider.java
48 14 0
private void updateState()
in src/main/java/com/amazonaws/services/simpleworkflow/flow/core/TryCatchFinallyContext.java
42 11 0