awslabs / aws-iot-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 526 units with 2,139 lines of code in units (49.0% of code).
    • 0 very long units (0 lines of code)
    • 0 long units (0 lines of code)
    • 5 medium size units (172 lines of code)
    • 19 small units (257 lines of code)
    • 502 very small units (1,710 lines of code)
0% | 0% | 8% | 12% | 79%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 0% | 8% | 12% | 79%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/main/java/com/awslabs/iot/client/applications0% | 0% | 51% | 5% | 43%
src/main/java/com/awslabs/iot/client/helpers0% | 0% | 22% | 20% | 57%
src/main/java/com/awslabs/iot/client/interfaces0% | 0% | 46% | 38% | 15%
src/main/java/com/awslabs/iot/client/commands0% | 0% | 1% | 11% | 87%
src/main/java/com/awslabs/iot/client/parameters0% | 0% | 0% | 84% | 15%
src/main/java/com/awslabs/iot/client/console0% | 0% | 0% | 0% | 100%
src/main/java/com/awslabs/iot/client/commandline0% | 0% | 0% | 0% | 100%
src/main/java/com/awslabs/iot/client/completers0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public Set commandHandlerSet()
in src/main/java/com/awslabs/iot/client/applications/GreengrassModule.java
49 1 23
public Set commandHandlerSet()
in src/main/java/com/awslabs/iot/client/applications/IotModule.java
49 1 23
public List getLogs()
in src/main/java/com/awslabs/iot/client/helpers/cloudwatch/BasicLogsHelper.java
29 2 2
default void mainLoop()
in src/main/java/com/awslabs/iot/client/interfaces/AwsIotClientTerminal.java
24 3 0
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/iot/rules/CreateTopicRuleCommandHandler.java
21 1 1
default Void infiniteInputLoop()
in src/main/java/com/awslabs/iot/client/interfaces/AwsIotClientTerminal.java
20 6 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/generic/HelpCommandHandler.java
17 2 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/greengrass/generic/CleanupCommandHandler.java
17 1 1
private void deleteEach()
in src/main/java/com/awslabs/iot/client/commands/iot/certificates/CleanUpCertificatesCommandHandler.java
16 3 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/greengrass/subscriptions/GetLatestSubscriptionDefinitionVersionCommandHandlerWithGroupIdCompletion.java
15 3 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/greengrass/loggers/GetLatestLoggerDefinitionVersionCommandHandlerWithGroupIdCompletion.java
15 3 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/connectors/GetLatestConnectorDefinitionVersionCommandHandlerWithGroupIdCompletion.java
15 3 1
public MqttCallback buildMessageCallback()
in src/main/java/com/awslabs/iot/client/helpers/iot/BasicWebsocketsHelper.java
14 1 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/greengrass/groups/GetDeploymentStatusCommandHandlerWithGroupIdAndDeploymentIdCompletion.java
14 2 1
public String prettyPrint()
in src/main/java/com/awslabs/iot/client/helpers/json/BasicObjectPrettyPrinter.java
13 2 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/greengrass/groups/GetLatestDeploymentStatusCommandHandlerWithGroupIdCompletion.java
12 2 1
public void complete()
in src/main/java/com/awslabs/iot/client/commands/greengrass/completers/GreengrassGroupIdAndDeploymentIdCompleter.java
12 4 3
public List getParameters()
in src/main/java/com/awslabs/iot/client/parameters/BasicParameterExtractor.java
11 3 1
default boolean handle()
in src/main/java/com/awslabs/iot/client/commands/interfaces/CommandHandler.java
11 3 1
public void innerHandle()
in src/main/java/com/awslabs/iot/client/commands/greengrass/devices/GetLatestDeviceDefinitionVersionCommandHandlerWithGroupIdCompletion.java
11 2 1