GerritCodeReview / apps_reviewit
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 597 units with 7,575 lines of code in units (78.9% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 14 medium complex units (1,036 lines of code)
    • 27 simple units (1,043 lines of code)
    • 556 very simple units (5,496 lines of code)
0% | 0% | 13% | 13% | 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% | 13% | 13% | 72%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
reviewit/widget0% | 0% | 20% | 23% | 56%
reviewit0% | 0% | 12% | 9% | 78%
reviewit/util0% | 0% | 16% | 11% | 72%
reviewit/app0% | 0% | 0% | 4% | 95%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
public String format()
in app/src/main/java/com/google/reviewit/util/RelativeDateFormatter.java
74 20 1
private TextView createLineWithIntralineDiffs()
in app/src/main/java/com/google/reviewit/widget/UnifiedDiffView.java
66 17 4
public SelectCodeReviewView()
in app/src/main/java/com/google/reviewit/widget/SelectCodeReviewView.java
135 17 2
private void display()
in app/src/main/java/com/google/reviewit/SortChangesFragment.java
111 15 0
public void init()
in app/src/main/java/com/google/reviewit/widget/VoteView.java
91 14 2
private void onScrollChanged()
in app/src/main/java/com/google/reviewit/widget/ScrollWithHeadingsView.java
48 13 3
private void animate()
in app/src/main/java/com/google/reviewit/SortChangesFragment.java
66 13 2
private void addApprovalRow()
in app/src/main/java/com/google/reviewit/widget/ApprovalsView.java
47 12 3
public void init()
in app/src/main/java/com/google/reviewit/widget/CodeReviewVotes.java
65 12 1
private void init()
in app/src/main/java/com/google/reviewit/ServerSettingsFragment.java
134 12 0
private int addUnchangedLines()
in app/src/main/java/com/google/reviewit/widget/UnifiedDiffView.java
47 11 6
private void refitText()
in app/src/main/java/com/google/reviewit/widget/MaxFontSizeTextView.java
36 11 2
private void initSwipeAnimation()
in app/src/main/java/com/google/reviewit/SortChangesFragment.java
88 11 1
public void onCreateOptionsMenu()
in app/src/main/java/com/google/reviewit/SortChangesFragment.java
28 11 2
private void addSkippedRow()
in app/src/main/java/com/google/reviewit/widget/UnifiedDiffView.java
105 10 5
private void loadAndDisplay()
in app/src/main/java/com/google/reviewit/ReviewChangesFragment.java
77 10 1
private View createVote()
in app/src/main/java/com/google/reviewit/widget/ApprovalEntry.java
27 9 5
private void init()
in app/src/main/java/com/google/reviewit/widget/PostReviewView.java
94 9 3
public void squish()
in app/src/main/java/com/google/reviewit/widget/ScrollWithHeadingsView.java
28 9 1
public boolean onOptionsItemSelected()
in app/src/main/java/com/google/reviewit/SortChangesFragment.java
30 9 1