bazelbuild / eclipse
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 184 units with 1,561 lines of code in units (55.8% of code).
    • 0 very long units (0 lines of code)
    • 2 long units (104 lines of code)
    • 14 medium size units (400 lines of code)
    • 31 small units (405 lines of code)
    • 137 very small units (652 lines of code)
0% | 6% | 25% | 25% | 41%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 7% | 24% | 26% | 41%
py0% | 0% | 40% | 20% | 39%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
java/com/google/devtools/bazel/e4b/projectviews0% | 38% | 0% | 8% | 52%
java/com/google/devtools/bazel/e4b/command0% | 10% | 11% | 24% | 53%
java/com/google/devtools/bazel/e4b/wizard0% | 0% | 44% | 18% | 37%
javatests/com/google/devtools/bazel/e4b/integration0% | 0% | 88% | 0% | 11%
java/com/google/devtools/bazel/e4b0% | 0% | 23% | 48% | 27%
tools/build_defs0% | 0% | 40% | 20% | 39%
javatests/com/google/devtools/bazel/e4b/command0% | 0% | 37% | 42% | 20%
java/com/google/devtools/bazel/e4b/classpath0% | 0% | 0% | 56% | 43%
java/com/google/devtools/bazel/e4b/preferences0% | 0% | 0% | 0% | 100%
javatests/com/google/devtools/bazel/e4b/projectviews0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private void parseLine()
in java/com/google/devtools/bazel/e4b/projectviews/Builder.java
53 19 4
public List complete()
in java/com/google/devtools/bazel/e4b/command/BazelCommand.java
51 22 1
public void testAspectGenerateJson()
in javatests/com/google/devtools/bazel/e4b/integration/AspectIntegrationTest.java
45 2 0
private void createJavaProgram()
in javatests/com/google/devtools/bazel/e4b/integration/AspectIntegrationTest.java
40 1 0
public void testCommandWithStream()
in javatests/com/google/devtools/bazel/e4b/command/CommandTest.java
33 5 0
private void createWorkspaceSelectionControls()
in java/com/google/devtools/bazel/e4b/wizard/WorkspaceWizardPage.java
33 5 0
public static ProjectView getProjectView()
in java/com/google/devtools/bazel/e4b/BazelProjectSupport.java
32 9 1
public void checkVersion()
in java/com/google/devtools/bazel/e4b/command/BazelCommand.java
31 10 1
static CheckboxTreeViewer createTreeView()
in java/com/google/devtools/bazel/e4b/wizard/DirectoryTreeContentProvider.java
29 1 1
public int run()
in java/com/google/devtools/bazel/e4b/command/Command.java
25 3 0
def generate_metadata()
in tools/build_defs/site_builder.py
23 5 1
def main()
in tools/build_defs/feature_builder.py
22 2 1
public void createControl()
in java/com/google/devtools/bazel/e4b/wizard/WorkspaceWizardPage.java
22 1 1
private static void setGrayed()
in java/com/google/devtools/bazel/e4b/wizard/DirectoryTreeContentProvider.java
22 9 2
private static IProject createBaseProject()
in java/com/google/devtools/bazel/e4b/BazelProjectSupport.java
22 6 2
static ImmutableList getSelectPathsRelativeToRoot()
in java/com/google/devtools/bazel/e4b/wizard/DirectoryTreeContentProvider.java
21 7 1
private boolean isSourcePath()
in java/com/google/devtools/bazel/e4b/classpath/BazelClasspathContainer.java
20 10 1
public static IProject createProject()
in java/com/google/devtools/bazel/e4b/BazelProjectSupport.java
19 3 6
private static void createClasspath()
in java/com/google/devtools/bazel/e4b/BazelProjectSupport.java
18 3 4
private static void addSettings()
in java/com/google/devtools/bazel/e4b/BazelProjectSupport.java
17 3 4