firebase / firebase-admin-java
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 3,056 units with 20,787 lines of code in units (73.0% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 31 medium complex units (1,617 lines of code)
    • 101 simple units (2,764 lines of code)
    • 2,924 very simple units (16,406 lines of code)
0% | 0% | 7% | 13% | 78%
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% | 7% | 13% | 78%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
firebase/database/core0% | 0% | 14% | 21% | 64%
firebase/database/utilities0% | 0% | 21% | 37% | 41%
firebase/database/snapshot0% | 0% | 13% | 11% | 75%
firebase/auth0% | 0% | 4% | 3% | 92%
firebase/database/connection0% | 0% | 3% | 14% | 82%
firebase/messaging0% | 0% | 2% | 3% | 93%
firebase/database/collection0% | 0% | 4% | 16% | 79%
firebase/database0% | 0% | 2% | 6% | 90%
firebase/remoteconfig0% | 0% | 1% | 9% | 88%
firebase/projectmanagement0% | 0% | 0% | 9% | 90%
firebase/database/util0% | 0% | 0% | 34% | 65%
firebase0% | 0% | 0% | 4% | 95%
firebase/messaging/internal0% | 0% | 0% | 54% | 45%
firebase/internal0% | 0% | 0% | 2% | 97%
firebase/auth/internal0% | 0% | 0% | 0% | 100%
firebase/auth/multitenancy0% | 0% | 0% | 0% | 100%
firebase/auth/hash0% | 0% | 0% | 0% | 100%
firebase/remoteconfig/internal0% | 0% | 0% | 0% | 100%
firebase/cloud0% | 0% | 0% | 0% | 100%
firebase/iid0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
private Node updateRangeInNode()
in src/main/java/com/google/firebase/database/snapshot/RangeMerge.java
49 23 3
private List removeEventRegistration()
in src/main/java/com/google/firebase/database/core/SyncTree.java
69 22 3
public static Node NodeFromJSON()
in src/main/java/com/google/firebase/database/snapshot/NodeUtilities.java
73 21 2
private static Object serialize()
in src/main/java/com/google/firebase/database/utilities/encoding/CustomClassMapper.java
61 21 1
public List addEventRegistration()
in src/main/java/com/google/firebase/database/core/SyncTree.java
91 20 1
private IndexedNode fullLimitUpdateChild()
in src/main/java/com/google/firebase/database/core/view/filter/LimitedFilter.java
63 19 5
public BeanMapper()
in src/main/java/com/google/firebase/database/utilities/encoding/CustomClassMapper.java
77 19 1
public Node calcCompleteEventCache()
in src/main/java/com/google/firebase/database/core/WriteTree.java
52 18 4
public boolean equals()
in src/main/java/com/google/firebase/database/core/view/QueryParams.java
39 17 1
public Object getValue()
in src/main/java/com/google/firebase/database/snapshot/ChildrenNode.java
40 15 1
public ImportUserRecord build()
in src/main/java/com/google/firebase/auth/ImportUserRecord.java
49 14 0
public void trackChildChange()
in src/main/java/com/google/firebase/database/core/view/filter/ChildChangeAccumulator.java
37 14 1
public ViewCache revertUserWrite()
in src/main/java/com/google/firebase/database/core/view/ViewProcessor.java
53 14 5
private void onDataPush()
in src/main/java/com/google/firebase/database/connection/PersistentConnectionImpl.java
48 14 2
private void checkContents()
in src/main/java/com/google/firebase/auth/FirebaseTokenVerifierImpl.java
59 13 2
public boolean removeWrite()
in src/main/java/com/google/firebase/database/core/WriteTree.java
43 13 1
private void validateQueryEndpoints()
in src/main/java/com/google/firebase/database/Query.java
29 13 1
private Aps()
in src/main/java/com/google/firebase/messaging/Aps.java
34 12 1
private void rerunTransactionQueue()
in src/main/java/com/google/firebase/database/core/Repo.java
106 12 2
public boolean equals()
in src/main/java/com/google/firebase/database/snapshot/ChildrenNode.java
32 12 1