awslabs / amazon-msk-data-generator
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 247 units with 1,615 lines of code in units (64.5% of code).
    • 0 very long units (0 lines of code)
    • 0 long units (0 lines of code)
    • 12 medium size units (314 lines of code)
    • 31 small units (437 lines of code)
    • 204 very small units (864 lines of code)
0% | 0% | 19% | 27% | 53%
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% | 19% | 27% | 53%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/main/java/com/amazonaws/mskdatagen/core0% | 0% | 27% | 36% | 36%
src/main/java/com/amazonaws/mskdatagen/producer0% | 0% | 31% | 42% | 25%
src/main/java/com/amazonaws/mskdatagen/validators0% | 0% | 29% | 30% | 39%
src/main/java/com/amazonaws/mskdatagen/parsers0% | 0% | 27% | 31% | 40%
src/main/java/com/amazonaws/mskdatagen/core/generator0% | 0% | 24% | 10% | 65%
src/main/java/com/amazonaws/mskdatagen/dto0% | 0% | 0% | 23% | 76%
src/main/java/com/amazonaws/mskdatagen/dto/context0% | 0% | 0% | 3% | 96%
src/main/java/com/amazonaws/mskdatagen0% | 0% | 0% | 25% | 74%
src/main/java/com/amazonaws/mskdatagen/utils0% | 0% | 0% | 84% | 15%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private void advanceStep()
in src/main/java/com/amazonaws/mskdatagen/producer/ApplyGenerator.java
40 6 0
private void addTopicConfigs()
in src/main/java/com/amazonaws/mskdatagen/core/Context.java
31 6 1
private Parser getParser()
in src/main/java/com/amazonaws/mskdatagen/parsers/ParseKeyProcessor.java
30 11 1
private void addGenerators()
in src/main/java/com/amazonaws/mskdatagen/core/Context.java
27 5 1
public static RateFunction getGenValueFunction()
in src/main/java/com/amazonaws/mskdatagen/core/generator/GenValueFunctions.java
26 6 2
private void addGlobalConfigs()
in src/main/java/com/amazonaws/mskdatagen/core/Context.java
24 5 1
public List generateSourceRecord()
in src/main/java/com/amazonaws/mskdatagen/producer/GenerateSourceRecord.java
24 3 0
private void genNamespace()
in src/main/java/com/amazonaws/mskdatagen/core/CompileGeneratorStrategies.java
23 4 5
private void validateDependencyGenerator()
in src/main/java/com/amazonaws/mskdatagen/validators/ValidateDependencies.java
23 9 4
private Generator compileGeneratorStrategy()
in src/main/java/com/amazonaws/mskdatagen/core/CompileGeneratorStrategies.java
22 5 1
private void maybeBackoff()
in src/main/java/com/amazonaws/mskdatagen/producer/ApplyGenerator.java
22 6 1
public void validate()
in src/main/java/com/amazonaws/mskdatagen/validators/ValidateAttrShape.java
22 5 1
private void fillGeneratorByStrategy()
in src/main/java/com/amazonaws/mskdatagen/core/Context.java
20 4 2
private void addAttrConfigs()
in src/main/java/com/amazonaws/mskdatagen/core/Context.java
19 5 1
public void prepare()
in src/main/java/com/amazonaws/mskdatagen/core/TopicSequenceGenerator.java
18 3 0
private boolean isGenExists()
in src/main/java/com/amazonaws/mskdatagen/validators/ValidateUnusedAttrs.java
18 2 2
public Pair build()
in src/main/java/com/amazonaws/mskdatagen/producer/SchemaValueResultBuilder.java
17 5 0
private ContextConfig createNewConfig()
in src/main/java/com/amazonaws/mskdatagen/core/Context.java
16 6 3
private void addAttrConfig()
in src/main/java/com/amazonaws/mskdatagen/core/Context.java
16 3 2
private void getContextRecur()
in src/main/java/com/amazonaws/mskdatagen/producer/ApplyGenerator.java
16 4 2