microsoft / azure-tools-for-java
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 11,807 units with 93,587 lines of code in units (63.4% of code).
    • 25 very long units (3,750 lines of code)
    • 110 long units (7,139 lines of code)
    • 707 medium size units (21,216 lines of code)
    • 1,440 small units (20,699 lines of code)
    • 9,525 very small units (40,783 lines of code)
4% | 7% | 22% | 22% | 43%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java4% | 7% | 22% | 21% | 44%
scala11% | 9% | 37% | 24% | 17%
js0% | 14% | 25% | 28% | 32%
kt0% | 1% | 27% | 23% | 47%
groovy0% | 0% | 13% | 48% | 38%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
PluginsAndFeatures/azure-toolkit-for-eclipse9% | 12% | 27% | 20% | 29%
PluginsAndFeatures/azure-toolkit-for-intellij3% | 7% | 22% | 24% | 41%
PluginsAndFeatures/AddLibrary8% | 5% | 45% | 21% | 19%
Utils/hdinsight-node-common<1% | 5% | 14% | 16% | 62%
Utils/spark-tools22% | 16% | 5% | 34% | 20%
Utils/azure-explorer-common0% | 3% | 20% | 22% | 53%
Utils/AzureAuthenticationFilter0% | 5% | 22% | 27% | 44%
Utils/azuretools-core0% | 3% | 19% | 22% | 54%
Utils/azure-toolkit-ide-libs0% | 2% | 24% | 27% | 45%
Utils/spark-localrun-mock0% | 0% | 35% | 15% | 48%
tools0% | 0% | 100% | 0% | 0%
Utils/AzureWebApplication0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public void createPartControl()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.azureexplorer/src/com/microsoft/azuretools/azureexplorer/editors/container/ContainerRegistryExplorerEditor.java
291 13 1
protected Control createContents()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.hdinsight/src/com/microsoft/azuretools/hdinsight/spark/ui/SparkSubmissionExDialog.java
228 21 1
protected Control createDialogArea()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.azureexplorer/src/com/microsoft/azuretools/azureexplorer/forms/createrediscache/CreateRedisCacheForm.java
192 12 1
public Deployable buildSparkBatchJobDeploy()
in PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/azure/hdinsight/spark/run/SparkBatchJobDeployFactory.java
189 47 2
public void execute()
in PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/azure/hdinsight/spark/run/SparkBatchJobDebuggerRunner.java
178 17 1
public CosmosSparkClusterOpsCtrl()
in PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/azure/cosmosspark/CosmosSparkClusterOpsCtrl.java
176 4 1
public void createPartControl()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.appservice/src/com/microsoft/azure/toolkit/eclipse/appservice/property/AppServiceBasePropertyEditor.java
168 1 1
public SparkLibraryOptionsPanel()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.hdinsight/src/com/microsoft/azuretools/hdinsight/projects/SparkLibraryOptionsPanel.java
167 15 3
public BlobExplorerFileEditor()
in PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/intellij/helpers/storage/BlobExplorerFileEditor.java
165 20 1
public void createPartControl()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.azureexplorer/src/com/microsoft/azuretools/azureexplorer/editors/rediscache/RedisExplorerEditor.java
155 6 1
public void createApplicationInsightsResourceTable()
in PluginsAndFeatures/AddLibrary/AppInsights/com.microsoft.applicationinsights.ui/src/main/java/com/microsoft/applicationinsights/preference/ApplicationInsightsPreferencePage.java
153 4 1
public void initialize()
in PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/azure/hdinsight/common/SparkSubmissionToolWindowProcessor.java
148 25 0
protected void okPressed()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.core/src/com/microsoft/azuretools/core/ui/commoncontrols/NewCertificateDialog.java
136 32 0
protected Control createDialogArea()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.azureexplorer/src/com/microsoft/azuretools/azureexplorer/forms/AddNewClusterForm.java
129 3 1
public SelectImageStep()
in PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/azure/toolkit/intellij/vm/createarmvm/SelectImageStep.java
125 16 2
private void deploy()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.appservice/src/com/microsoft/azuretools/appservice/ui/WebAppDeployDialog.java
124 19 2
private void createUIComponents()
in PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/azure/toolkit/intellij/docker/ContainerRegistryPropertyView.java
124 10 0
protected Control createDialogArea()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.azureexplorer/src/com/microsoft/azuretools/azureexplorer/forms/CreateArmStorageAccountForm.java
123 4 1
public Observable validateAndAdd()
in Utils/hdinsight-node-common/src/com/microsoft/azure/hdinsight/serverexplore/AddNewClusterCtrlProvider.java
122 25 0
private void createASPGroup()
in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.appservice/src/com/microsoft/azuretools/appservice/ui/AppServiceCreateDialog.java
118 2 1