File Complexity Overall
  • There are 2,033 files with units, with 339,825 lines of code.
    • 3 very complex files (McCabe index sum 251+; 6,849 lines of code)
    • 11 complex files (McCabe index sum 126-250; 18,059 lines of code)
    • 55 medium complex files (McCabe index sum 51-125; 34,994 lines of code)
    • 201 slightly complex files (McCabe index sum 26-50; 72,557 lines of code)
    • 1,763 simple files (McCabe index sum 1-25; 207,366 lines of code)
  • 22 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system2% | 5% | 10% | 21% | 61%
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
cs2% | 5% | 10% | 21% | 61%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
src2% | 5% | 10% | 21% | 61%
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
AnthropicBetaClientExtensions.cs
in src/Anthropic/Services/Beta/Messages
2205 9 296 13 260
2258 12 280 12 232
BetaWebhookEventData.cs
in src/Anthropic/Models/Beta/Webhooks
2386 96 276 12 134
BetaManagedAgentsStreamSessionThreadEvents.cs
in src/Anthropic/Models/Beta/Sessions/Threads
2458 82 234 10 113
BetaManagedAgentsStreamSessionEvents.cs
in src/Anthropic/Models/Beta/Sessions/Events
2457 82 234 10 113
BetaManagedAgentsSessionEvent.cs
in src/Anthropic/Models/Beta/Sessions/Events
2318 78 222 10 107
MessageCountTokensParams.cs
in src/Anthropic/Models/Beta/Messages
2113 88 221 10 85
BetaResponseToolUnion.cs
in src/Anthropic/Models/Beta/Messages
1579 64 179 11 85
BetaToolUnion.cs
in src/Anthropic/Models/Beta/Messages
1553 64 179 12 85
BetaContentBlockParam.cs
in src/Anthropic/Models/Beta/Messages
1364 56 156 11 74
ToolUnion.cs
in src/Anthropic/Models/Messages
1080 50 137 13 64
MessageCountTokensTool.cs
in src/Anthropic/Models/Messages
1100 50 137 12 64
BetaRawContentBlockStartEvent.cs
in src/Anthropic/Models/Beta/Messages
1006 50 127 13 56
BetaSpendSummary.cs
in src/Anthropic/Models/Beta/Organization/SpendLimits
1031 58 126 12 20
BetaContentBlock.cs
in src/Anthropic/Models/Beta/Messages
922 44 120 13 56
BetaManagedAgentsDeploymentRun.cs
in src/Anthropic/Models/Beta/DeploymentRuns
1022 48 116 11 50
BetaToolRunner.cs
in src/Anthropic/Helpers/Beta
656 34 115 18 14
ContentBlockParam.cs
in src/Anthropic/Models/Messages
904 40 108 12 50
BetaWebFetchUrlSources.cs
in src/Anthropic/Models/Beta/Messages
851 50 102 12 14
WebFetchUrlSources.cs
in src/Anthropic/Models/Messages
828 50 102 12 14
SessionCreateParams.cs
in src/Anthropic/Models/Beta/Sessions
953 50 98 10 11
BetaManagedAgentsSessionErrorEvent.cs
in src/Anthropic/Models/Beta/Sessions/Events
878 42 98 11 41
AnthropicClient.cs
in src/Anthropic
677 18 97 14 22
BatchCreateParams.cs
in src/Anthropic/Models/Beta/Messages/Batches
1236 60 97 8 8
BetaManagedAgentsDeploymentPausedReasonError.cs
in src/Anthropic/Models/Beta/Deployments
786 36 96 12 44
RawContentBlockStartEvent.cs
in src/Anthropic/Models/Messages
762 38 91 12 38
MessageCreateParams.cs
in src/Anthropic/Models/Beta/Messages
1066 50 90 8 8
BetaManagedAgentsError.cs
in src/Anthropic/Models/Beta/MemoryStores/Memories
597 32 84 14 38
ContentBlock.cs
in src/Anthropic/Models/Messages
631 32 84 13 38
BetaToolResultBlockParam.cs
in src/Anthropic/Models/Beta/Messages
669 39 81 12 20
ToolResultBlockParam.cs
in src/Anthropic/Models/Messages
659 39 81 12 20
BetaDreamingError.cs
in src/Anthropic/Models/Beta/Dreams
521 28 72 14 32
AgentUpdateParams.cs
in src/Anthropic/Models/Beta/Agents
740 36 69 9 11
DeploymentUpdateParams.cs
in src/Anthropic/Models/Beta/Deployments
748 36 69 9 11
AgentCreateParams.cs
in src/Anthropic/Models/Beta/Agents
665 36 68 10 11
DeploymentCreateParams.cs
in src/Anthropic/Models/Beta/Deployments
702 36 68 10 11
BetaError.cs
in src/Anthropic/Models/Beta
480 26 66 14 29
ErrorObject.cs
in src/Anthropic/Models
473 26 66 14 29
BetaManagedAgentsSessionThreadAgent.cs
in src/Anthropic/Models/Beta/Agents
694 34 65 9 11
ExternalKey.cs
in src/Anthropic/Models/Organization/ExternalKeys
571 32 61 11 11
BetaExternalKey.cs
in src/Anthropic/Models/Beta/Organization/ExternalKeys
587 32 61 10 11
BetaManagedAgentsSendSessionEvents.cs
in src/Anthropic/Models/Beta/Sessions/Events
568 28 61 11 23
BetaPlugin.cs
in src/Anthropic/Models/Beta/Organization/Plugins
722 34 60 8 8
BetaWebFetchToolResultBlockParam.cs
in src/Anthropic/Models/Beta/Messages
573 32 60 10 11
BetaWebFetchToolResultBlock.cs
in src/Anthropic/Models/Beta/Messages
541 32 60 11 11
BetaManagedAgentsAgentToolConfigParams.cs
in src/Anthropic/Models/Beta/Agents
499 24 60 12 26
BetaManagedAgentsAgentToolConfig.cs
in src/Anthropic/Models/Beta/Agents
509 24 60 12 26
WebFetchToolResultBlock.cs
in src/Anthropic/Models/Messages
522 32 60 11 11
WebFetchToolResultBlockParam.cs
in src/Anthropic/Models/Messages
548 32 60 11 11
BetaWorkspaceRateLimit.cs
in src/Anthropic/Models/Beta/Organization/Workspaces/RateLimits
613 28 58 9 20
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...