microsoft / azure-devops-intellij
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 2,594 units with 22,316 lines of code in units (68.5% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 43 medium complex units (2,107 lines of code)
    • 142 simple units (4,021 lines of code)
    • 2,409 very simple units (16,188 lines of code)
0% | 0% | 9% | 18% | 72%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
java0% | 0% | 9% | 18% | 72%
kt0% | 0% | 0% | 0% | 100%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
plugin/src/com/microsoft/alm/plugin/idea0% | 0% | 8% | 18% | 73%
plugin/src/com/microsoft/alm/plugin/context0% | 0% | 21% | 9% | 68%
plugin/src/com/microsoft/alm/plugin/operations0% | 0% | 20% | 25% | 53%
plugin/src/com/microsoft/alm/plugin/versioncontrol0% | 0% | 48% | 16% | 34%
plugin/src/com/microsoft/alm/plugin/authentication0% | 0% | 0% | 27% | 72%
plugin/src/com/microsoft/alm/common/utils0% | 0% | 0% | 18% | 81%
plugin/src/com/microsoft/alm/common/artifact0% | 0% | 0% | 9% | 90%
client/backend/src/main/kotlin/com/microsoft0% | 0% | 0% | 0% | 100%
plugin/src/com/microsoft/alm/plugin/services0% | 0% | 0% | 0% | 100%
plugin/src/com/microsoft/alm/plugin/events0% | 0% | 0% | 0% | 100%
plugin/test-utils/src/com/microsoft/alm/plugin0% | 0% | 0% | 0% | 100%
client/connector/src/main/kotlin/com/microsoft0% | 0% | 0% | 0% | 100%
plugin/src/com/microsoft/alm/plugin/exceptions0% | 0% | 0% | 0% | 100%
plugin/src/com/microsoft/alm/common/exceptions0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
public final static String canonicalize()
in plugin/src/com/microsoft/alm/plugin/versioncontrol/path/ServerPath.java
84 25 2
public void update()
in plugin/src/com/microsoft/alm/plugin/idea/common/ui/checkout/CheckoutPageController.java
32 20 2
private String getValueFor()
in plugin/src/com/microsoft/alm/plugin/idea/common/ui/common/ServerContextTableModel.java
47 18 2
public void update()
in plugin/src/com/microsoft/alm/plugin/idea/tfvc/ui/workspace/WorkspaceController.java
29 18 2
public static boolean isCanonicalizedPath()
in plugin/src/com/microsoft/alm/plugin/versioncontrol/path/ServerPath.java
42 17 2
private void readResponse()
in plugin/src/com/microsoft/alm/plugin/context/soap/CatalogServiceImpl.java
51 16 2
public void update()
in plugin/src/com/microsoft/alm/plugin/idea/git/ui/vcsimport/ImportPageController.java
26 16 2
public ServerContext createContextFromTfvcServerUrl()
in plugin/src/com/microsoft/alm/plugin/context/ServerContextManager.java
51 15 3
protected void cacheIdeLocation()
in plugin/src/com/microsoft/alm/plugin/idea/common/setup/ApplicationStartup.java
54 15 2
public void update()
in plugin/src/com/microsoft/alm/plugin/idea/git/ui/pullrequest/CreatePullRequestController.java
23 15 2
private void setStatus()
in plugin/src/com/microsoft/alm/plugin/idea/git/ui/pullrequest/PRTreeCellRenderer.java
49 15 2
private BuildStatusResults getGitResults()
in plugin/src/com/microsoft/alm/plugin/operations/BuildStatusLookupOperation.java
49 15 1
public void readFromElement()
in plugin/src/com/microsoft/alm/plugin/context/soap/CatalogServiceImpl.java
52 14 1
public void update()
in plugin/src/com/microsoft/alm/plugin/idea/common/actions/OpenFileInBrowserAction.java
44 14 1
public ModelValidationInfo validate()
in plugin/src/com/microsoft/alm/plugin/idea/common/ui/checkout/CheckoutPageModelImpl.java
44 14 0
public boolean doBranchCreate()
in plugin/src/com/microsoft/alm/plugin/idea/git/ui/branch/CreateBranchModel.java
78 14 2
public void loadDiff()
in plugin/src/com/microsoft/alm/plugin/idea/git/ui/pullrequest/CreatePullRequestModel.java
65 14 0
protected void execute()
in plugin/src/com/microsoft/alm/plugin/idea/tfvc/actions/BranchAction.java
114 14 1
public void cloneRepo()
in plugin/src/com/microsoft/alm/plugin/idea/git/ui/simplecheckout/SimpleCheckoutModel.java
89 13 0
protected void execute()
in plugin/src/com/microsoft/alm/plugin/idea/tfvc/actions/MergeBranchAction.java
77 13 1