File Complexity Overall
  • There are 69 files with units, with 3,615 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)
    • 2 medium complex files (McCabe index sum 51-125; 658 lines of code)
    • 0 slightly complex files (McCabe index sum 26-50; 0 lines of code)
    • 67 simple files (McCabe index sum 1-25; 2,957 lines of code)
  • 226 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system0% | 0% | 18% | 0% | 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% | 18% | 0% | 81%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
lib0% | 0% | 18% | 0% | 81%
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
targeting.type.ts
in lib/client/common/types
475 102 102 21 1
statementBuilder.util.ts
in lib/common/utils
183 17 54 30 13
general.type.ts
in lib/client/common/types
104 12 12 12 1
75 4 10 13 4
company.action.ts
in lib/client/services/company
73 10 10 14 1
customTargeting.service.ts
in lib/client/services/customTargeting
79 9 9 11 1
customCriteria.type.ts
in lib/client/common/types
83 8 8 10 1
customField.service.ts
in lib/client/services/customField
62 8 8 13 1
lineItemCreativeAssociation.service.ts
in lib/client/services/lineItemCreativeAssociation
81 8 8 10 1
date.type.ts
in lib/common/types
46 7 7 15 1
user.service.ts
in lib/client/services/user
41 7 7 17 1
reportResponse.ts
in lib/common/utils/reports
35 3 6 17 2
proposalLineItem.service.ts
in lib/client/services/proposalLineItem
51 6 6 12 1
proposal.service.ts
in lib/client/services/proposal
49 6 6 12 1
proposal.action.ts
in lib/client/services/proposal
81 6 6 7 1
inventory.service.ts
in lib/client/services/inventory
42 6 6 14 1
28 3 5 18 2
reportUtilities.util.ts
in lib/common/utils
40 4 5 13 2
lineItemSummary.type.ts
in lib/client/common/types
139 5 5 4 1
order.service.ts
in lib/client/services/order
36 5 5 14 1
cmsMetadata.service.ts
in lib/client/services/cmsMetadata
57 5 5 9 1
daiAuthenticationKey.service.ts
in lib/client/services/daiAuthenticationKey
44 5 5 11 1
lineItem.service.ts
in lib/client/services/lineItem
38 5 5 13 1
mobileApplication.service.ts
in lib/client/services/mobileApplication
44 5 5 11 1
creativeWrapper.service.ts
in lib/client/services/creativeWrapper
44 5 5 11 1
label.service.ts
in lib/client/services/label
35 5 5 14 1
audienceSegment.service.ts
in lib/client/services/audienceSegment
44 5 5 11 1
team.service.ts
in lib/client/services/team
35 5 5 14 1
userTeamAssociation.service.ts
in lib/client/services/userTeamAssociation
44 5 5 11 1
contentBundles.service.ts
in lib/client/services/contentBundle
41 5 5 12 1
site.service.ts
in lib/client/services/site
35 5 5 14 1
daiEncodingProfile.service.ts
in lib/client/services/daiEncodingProfile
44 5 5 11 1
creative.service.ts
in lib/client/services/creative
37 5 5 14 1
cdnConfiguration.service.ts
in lib/client/services/cdnConfiguration
44 5 5 11 1
nativeStyle.service.ts
in lib/client/services/nativeStyle
41 5 5 12 1
company.service.ts
in lib/client/services/company
39 5 5 13 1
placement.service.ts
in lib/client/services/placement
39 5 5 13 1
23 3 4 17 2
index.ts
in lib/common/utils
46 1 4 9 4
adsReportUtilities.util.ts
in lib/common/utils/reports
15 3 4 27 2
videoPosition.type.ts
in lib/client/common/types
39 4 4 10 1
creativeSet.service.ts
in lib/client/services/creativeSet
25 4 4 16 1
contact.service.ts
in lib/client/services/contact
21 4 4 19 1
proposalLineItem.action.ts
in lib/client/services/proposalLineItem
49 4 4 8 1
lineItem.action.ts
in lib/client/services/lineItem
63 4 4 6 1
activity.service.ts
in lib/client/services/activity
23 4 4 17 1
activityGroup.service.ts
in lib/client/services/activityGroup
27 4 4 15 1
dateTimeUtilities.util.ts
in lib/common/utils
32 3 3 9 1
adManager.client.ts
in lib/client
45 1 3 7 3
suggestedAdUnit.service.ts
in lib/client/services/suggestedAdUnit
34 3 3 9 1
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...