File Complexity Overall
  • There are 199 files with units, with 11,219 lines of code.
    • 0 very complex files (McCabe index sum 251+; 0 lines of code)
    • 0 complex files (McCabe index sum 126-250; 0 lines of code)
    • 1 medium complex files (McCabe index sum 51-125; 270 lines of code)
    • 10 slightly complex files (McCabe index sum 26-50; 1,851 lines of code)
    • 188 simple files (McCabe index sum 1-25; 9,098 lines of code)
  • 168 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system0% | 0% | 2% | 16% | 81%
Legend:
251+
126-250
51-125
26-50
1-25


explore: grouped by folders | grouped by complexity
File Complexity per Extension
251+
126-250
51-125
26-50
1-25
ts0% | 0% | 2% | 18% | 78%
js0% | 0% | 0% | 0% | 100%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
src0% | 0% | 2% | 17% | 79%
install0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Complex Files (Top 50)

The McCabe index of a file grows with its size: per 100 lines tells a large but plain file from a dense one, and most complex unit whether the complexity sits in one unit or is spread over many.

File# lines# unitsMcCabe index
(sum)
per 100
lines
most complex
unit
CassQueryCompleter.ts
in src/client/src/components/cassandra/query/editor
270 11 58 21 30
DynomiteExplorer.ts
in src/server/services/datastores/dynomite/lib
284 12 48 17 11
request-utils.ts
in src/server/utils
74 15 45 61 4
SchemaBuilder.ts
in src/server/services/datastores/cassandra/lib/modules/schema-builder
209 15 37 18 13
cassandra-utils.ts
in src/client/src/utils
181 11 36 20 15
keys.ts
in src/server/services/datastores/cassandra/lib/modules
243 9 32 13 8
CassQueryTokenizer.ts
in src/client/src/components/cassandra/query/editor
126 16 31 25 4
schema-utils.ts
in src/server/services/datastores/cassandra/lib/utils
170 10 30 18 5
CassQueryValidator.ts
in src/client/src/components/cassandra/query/editor
189 9 29 15 11
CassService.ts
in src/client/src/services/cassandra
259 8 27 10 8
insert.ts
in src/server/services/datastores/cassandra/lib/modules/query-builder
116 6 26 22 21
CassandraExplorer.ts
in src/server/services/datastores/cassandra/lib
213 22 22 10 1
DynomiteCluster.ts
in src/server/services/datastores/dynomite/lib
164 11 22 13 5
acl-utils.ts
in src/server/utils
140 8 21 15 7
TableOptions.ts
in src/server/services/datastores/cassandra/lib/modules/schema-builder
100 11 21 21 10
schema.ts
in src/server/services/datastores/cassandra/lib/modules
156 7 20 13 5
DynoKeyService.ts
in src/client/src/services/dynomite/lib
120 8 20 17 4
132 14 19 14 4
statement-utils.ts
in src/server/services/datastores/cassandra/lib/utils
105 8 19 18 5
app-utils.ts
in src/server/utils
81 10 18 22 4
recent-queries-utils.ts
in src/client/src/utils
91 9 18 20 4
export-utils.ts
in src/server/services/datastores/cassandra/lib/utils
103 3 17 17 15
error-handlers.ts
in src/server/config
79 2 16 20 9
select.ts
in src/server/services/datastores/cassandra/lib/modules/query-builder
87 9 16 18 7
middlewares.ts
in src/server/config
86 5 14 16 5
Create.ts
in src/server/services/datastores/cassandra/lib/modules/schema-builder
120 7 14 12 6
TablesService.ts
in src/client/src/services/cassandra/lib
108 7 14 13 2
install.js
in install
151 5 13 9 7
configuration.ts
in src/server/config
69 3 13 19 9
type-utils.ts
in src/server/services/datastores/cassandra/lib/utils
31 2 13 42 12
cassandra-route-utils.ts
in src/client/src/utils
85 2 13 15 8
cassandra.js
in install/lib/datastores
181 2 12 7 7
index.ts
in src/server
77 2 12 16 11
CreateTableOptions.ts
in src/server/services/datastores/cassandra/lib/modules/schema-builder
67 6 12 18 6
collections.ts
in src/server/services/datastores/dynomite/lib
78 4 12 15 3
scan-utils.ts
in src/server/services/datastores/dynomite/lib/utils
89 3 12 13 10
ClusterAccessControlService.ts
in src/server/services/cluster-acls
76 5 12 16 5
EntityAccessControlCache.ts
in src/server/services/entity-acls
98 8 12 12 3
ClusterSchema.ts
in src/client/src/models/cassandra
102 9 12 12 2
ExplorerCache.ts
in src/server/services/explorer
103 6 11 11 3
keyspace-strategy-validator.ts
in src/client/src/validators/cassandra
79 2 11 14 6
index.ts
in src/server/config/logger
64 6 10 16 5
CassandraResultsExporter.ts
in src/server/routes/datastores/cassandra/clusters/keyspaces/tables/keys
85 3 10 12 5
restricted-queries.ts
in src/server/services/datastores/cassandra/lib
63 10 10 16 1
tables.ts
in src/server/services/datastores/cassandra/lib/modules
149 5 10 7 5
CompressionOptions.ts
in src/server/services/datastores/cassandra/lib/modules/schema-builder
44 4 10 23 6
result-utils.ts
in src/server/services/datastores/cassandra/lib/utils
60 1 9 15 9
types.ts
in src/server/services/datastores/cassandra/lib/modules
82 1 9 11 9
SizeTieredCompactionStrategyOptions.ts
in src/server/services/datastores/cassandra/lib/modules/schema-builder/compaction
39 6 9 23 4
index.ts
in src/server/services/datastores/cassandra
96 4 9 9 6
About This Analysis
  • File complexity is the sum of the McCabe indexes (conditional complexity) of the units (methods, functions...) in a file.
  • Files are classified in five categories based on that sum: 1-25 (simple files), 26-50 (slightly complex files), 51-125 (medium complex files), 126-250 (complex files), 251+ (very complex files). The default bands are five times the unit complexity bands, as a file is a group of units.
  • Only main code files with units are classified. Files without units (languages without unit analysis, or files without functions) have no complexity to measure and are left out rather than counted as simple.
  • A very complex file holds many decisions, which often means it has too many responsibilities: a candidate to split, and a place where changes need more testing.
Learn more...