microsoft / team-explorer-everywhere
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 40,954 units with 405,959 lines of code in units (70.5% of code).
    • 156 very long units (21,980 lines of code)
    • 754 long units (50,191 lines of code)
    • 4,112 medium size units (133,383 lines of code)
    • 4,174 small units (60,953 lines of code)
    • 31,758 very small units (139,452 lines of code)
5% | 12% | 32% | 15% | 34%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java5% | 12% | 32% | 14% | 34%
c19% | 37% | 22% | 16% | 4%
js0% | 0% | 0% | 73% | 26%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
source/com.microsoft.tfs.core7% | 10% | 23% | 18% | 40%
source/com.microsoft.tfs.core.ws3% | 11% | 44% | 6% | 34%
source/com.microsoft.tfs.client.common.ui4% | 14% | 29% | 21% | 30%
source/com.microsoft.tfs.client.clc23% | 26% | 24% | 11% | 14%
source/com.microsoft.tfs.client.eclipse17% | 15% | 27% | 17% | 22%
source/com.microsoft.tfs.jni10% | 24% | 19% | 18% | 26%
source/com.microsoft.tfs.util8% | 6% | 24% | 23% | 37%
source/com.microsoft.tfs.client.eclipse.ui2% | 12% | 26% | 27% | 30%
source/com.microsoft.tfs.client.common.ui.teambuild1% | 15% | 28% | 24% | 30%
source/com.microsoft.tfs.client.common1% | 4% | 24% | 24% | 45%
source/com.microsoft.tfs.checkinpolicies.build15% | 0% | 32% | 19% | 32%
source/com.microsoft.tfs.core.ws.runtime4% | 18% | 21% | 15% | 38%
source/com.microsoft.tfs.core.httpclient<1% | 8% | 21% | 23% | 45%
source/com.microsoft.tfs.client.common.ui.vcexplorer0% | 17% | 20% | 25% | 36%
source/com.microsoft.tfs.client.eclipse.ui.egit0% | 7% | 36% | 27% | 29%
source/com.microsoft.tfs.console0% | 18% | 13% | 14% | 52%
source/com.microsoft.tfs.checkinpolicies.forbiddenpatterns0% | 25% | 13% | 7% | 53%
source/com.microsoft.tfs.client.common.ui.teambuild.egit0% | 0% | 46% | 19% | 34%
source/com.microsoft.tfs.logging0% | 0% | 43% | 18% | 38%
source/com.microsoft.tfs.checkinpolicies0% | 0% | 61% | 0% | 38%
source/com.microsoft.tfs.checkinpolicies.workitemquerypolicy0% | 0% | 20% | 37% | 41%
source/com.microsoft.tfs.client.common.pid0% | 0% | 87% | 0% | 12%
source/com.microsoft.tfs.checkinpolicies.checkforcomments0% | 0% | 0% | 0% | 100%
source/com.microsoft.tfs.checkinpolicies.workitempolicy0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private void processOperation()
in source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/versioncontrol/engines/internal/GetEngine.java
557 178 2
private void initialize()
in source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/config/webservice/DefaultWebServiceFactory.java
528 1 0
private static void init()
in source/com.microsoft.tfs.util/src/com/microsoft/tfs/util/htmlfilter/AllowedHTMLTags.java
379 2 0
private static boolean reconcileLocalWorkspaceHelper()
in source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/versioncontrol/internal/localworkspace/LocalDataAccessLayer.java
328 61 6
public VersionControlOptions()
in source/com.microsoft.tfs.client.clc/src/com/microsoft/tfs/client/clc/vc/VersionControlOptions.java
308 1 0
public int checkIn()
in source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/versioncontrol/soapextensions/Workspace.java
233 40 10
private void setWorkspaceLocation()
in source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/versioncontrol/VersionControlClient.java
227 27 2
public void readFromElement()
in source/com.microsoft.tfs.core.ws/generated-src/ms/tfs/versioncontrol/clientservices/_03/_Conflict.java
220 53 1
private final ResourceInspectionResult inspectResource()
in source/com.microsoft.tfs.client.eclipse/src/com/microsoft/tfs/client/eclipse/TFSMoveDeleteHook.java
211 53 8
public void writeAsElement()
in source/com.microsoft.tfs.core.ws/generated-src/ms/tfs/versioncontrol/clientservices/_03/_Conflict.java
210 3 2
public IStatus validateEdit()
in source/com.microsoft.tfs.client.eclipse/src/com/microsoft/tfs/client/eclipse/filemodification/TFSFileModificationValidator.java
202 42 3
ProjectConnectionManagerResult connect()
in source/com.microsoft.tfs.client.eclipse/src/com/microsoft/tfs/client/eclipse/project/ProjectConnectionManager.java
189 20 2
public void run()
in source/com.microsoft.tfs.client.clc/src/com/microsoft/tfs/client/clc/vc/commands/CommandResolve.java
182 62 0
public int pendAdd()
in source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/versioncontrol/soapextensions/Workspace.java
179 33 7
public void run()
in source/com.microsoft.tfs.client.clc/src/com/microsoft/tfs/client/clc/vc/commands/CommandProperties.java
178 30 0
public HTTPProxyControl()
in source/com.microsoft.tfs.client.common.ui/src/com/microsoft/tfs/client/common/ui/controls/connect/HTTPProxyControl.java
178 13 2
protected Control createContents()
in source/com.microsoft.tfs.client.common.ui/src/com/microsoft/tfs/client/common/ui/prefs/ExternalToolPreferencePage.java
177 9 1
protected void hookAddToDialogArea()
in source/com.microsoft.tfs.client.common.ui.teambuild/src/com/microsoft/tfs/client/common/ui/teambuild/dialogs/QueueBuildDialog.java
174 10 1
private void runDenyWriteRule()
in source/com.microsoft.tfs.core/src/com/microsoft/tfs/core/clients/workitem/internal/rules/RuleEngine.java
169 45 1
private int run()
in source/com.microsoft.tfs.client.clc/src/com/microsoft/tfs/client/clc/Application.java
168 39 2