Sokrates
Unit Size

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 3,235 units with 22,697 lines of code in units (79.2% of code).
    • 3 very long units (387 lines of code)
    • 11 long units (719 lines of code)
    • 168 medium size units (4,879 lines of code)
    • 397 small units (5,849 lines of code)
    • 2,656 very small units (10,863 lines of code)
1% | 3% | 21% | 25% | 47%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
java1% | 3% | 21% | 25% | 47%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Logical Component
primary logical decomposition
codeanalyzer3% | 1% | 14% | 22% | 58%
reports0% | 7% | 33% | 23% | 34%
cli0% | 11% | 42% | 24% | 21%
codeexplorer0% | 0% | 23% | 39% | 36%
common0% | 0% | 13% | 36% | 50%
Legend:
101+
51-100
21-50
11-20
1-10
Alternative Visuals
Longest Units
Top 50 longest units
Unit# linesMcCabe index# params
private void addIgnoreConventions()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/scoping/ScopingConventions.java
137 1 0
private LanguageAnalyzerFactory()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/lang/LanguageAnalyzerFactory.java
137 1 0
private void registerXml()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/lang/LanguageAnalyzerFactory.java
113 1 0
private void addOtherConventions()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/scoping/ScopingConventions.java
91 1 0
public void addUnitsSizeToReport()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/UnitsSizeReportGenerator.java
84 1 1
private static List getReportsList()
in reports/src/main/java/nl/obren/sokrates/reports/core/ReportFileExporter.java
80 29 2
public void addConditionalComplexityToReport()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/ConditionalComplexityReportGenerator.java
70 1 1
public void summarizeAndCompare()
in reports/src/main/java/nl/obren/sokrates/reports/core/SummaryUtils.java
62 1 3
public void renderDetails()
in reports/src/main/java/nl/obren/sokrates/reports/utils/ScopesRenderer.java
61 15 2
private void updateConfig()
in cli/src/main/java/nl/obren/sokrates/cli/CommandLineInterface.java
57 16 1
public void analyze()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/analysis/files/DuplicationAnalyzer.java
57 5 1
private void renderScopes()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/ConcernsReportGenerator.java
54 8 2
private void addDuplicationInstances()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/duplication/impl/Blocks.java
52 10 3
public static String getFilesTable()
in reports/src/main/java/nl/obren/sokrates/reports/utils/FilesReportUtils.java
51 7 3
private void generateReports()
in cli/src/main/java/nl/obren/sokrates/cli/CommandLineInterface.java
48 13 1
public void analyze()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/analysis/files/UnitsAnalyzer.java
48 1 0
public static void addContributors()
in reports/src/main/java/nl/obren/sokrates/reports/core/ReportFileExporter.java
48 8 2
private void addCodeVolumeSummarySection()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/TrendReportGenerator.java
48 1 4
private void addBigSummary()
in reports/src/main/java/nl/obren/sokrates/reports/landscape/statichtml/LandscapeReportGenerator.java
48 10 1
private void addGeneratedConventions()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/scoping/ScopingConventions.java
47 1 0
private CodeAnalyzerSettings getCodeAnalyzerSettings()
in cli/src/main/java/nl/obren/sokrates/cli/CommandLineInterface.java
46 14 1
public void analyze()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/analysis/files/LogicalDecompositionAnalyzer.java
46 6 1
private String saveDuplicates()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/DuplicationReportGenerator.java
45 6 3
public List report()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/BasicSourceCodeReportGenerator.java
45 14 0
public void load()
in codeexplorer/src/main/java/nl/obren/sokrates/codeexplorer/codebrowser/CodeBrowserPane.java
43 4 1
public static void analyze()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/analysis/AnalysisUtils.java
43 3 7
private void findDuplicatesWithinFiles()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/duplication/impl/Blocks.java
43 8 0
private static void addContributorsPerYear()
in reports/src/main/java/nl/obren/sokrates/reports/core/ReportFileExporter.java
43 3 2
public List getAllContributors()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/landscape/analysis/LandscapeAnalysisResults.java
42 4 0
public void addScopeAnalysisToReport()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/OverviewReportGenerator.java
41 1 1
private void addProjectRow()
in reports/src/main/java/nl/obren/sokrates/reports/landscape/statichtml/LandscapeReportGenerator.java
41 4 1
public List getSourceFiles()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/SourceCodeFiles.java
40 10 2
private void addTestConventions()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/scoping/ScopingConventions.java
40 1 0
public List getContributorsPerExtension()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/landscape/analysis/LandscapeAnalysisResults.java
40 5 0
private static void addReportFragment()
in reports/src/main/java/nl/obren/sokrates/reports/core/ReportFileExporter.java
39 6 3
private void analyzeLogicalDecomposition()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/LogicalComponentsReportGenerator.java
39 4 2
public ProgressFeedback getProgressFeedback()
in codeexplorer/src/main/java/nl/obren/sokrates/codeexplorer/common/ProgressFeedbackPane.java
38 2 0
private ProgressFeedback createProgressFeedback()
in codeexplorer/src/main/java/nl/obren/sokrates/codeexplorer/console/WebViewConsole.java
38 3 0
private void createBasicReport()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/BasicSourceCodeReportGenerator.java
38 12 0
private void addProjectsSection()
in reports/src/main/java/nl/obren/sokrates/reports/landscape/statichtml/LandscapeReportGenerator.java
38 6 1
private void createMenuBar()
in codeexplorer/src/main/java/nl/obren/sokrates/codeexplorer/codebrowser/CodeBrowserPane.java
37 3 0
private void configureTable()
in codeexplorer/src/main/java/nl/obren/sokrates/codeexplorer/duplication/DuplicatesPane.java
37 6 0
public List extractUnits()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/lang/vb/VisualBasicHeuristicUnitsExtractor.java
36 9 1
private void appendHeader()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/OverviewReportGenerator.java
36 5 1
public LandscapeReportGenerator()
in reports/src/main/java/nl/obren/sokrates/reports/landscape/statichtml/LandscapeReportGenerator.java
36 5 2
private void summarize()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/analysis/files/FileHistoryAnalyzer.java
35 2 1
private void registerJson()
in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/lang/LanguageAnalyzerFactory.java
35 1 0
public RichTextReport generateReport()
in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/ControlsReportGenerator.java
35 2 2
private void generateReports()
in codeexplorer/src/main/java/nl/obren/sokrates/codeexplorer/configuration/CodeConfigurationView.java
34 3 1
public void run()
in cli/src/main/java/nl/obren/sokrates/cli/CommandLineInterface.java
34 10 1