File Complexity Overall
  • There are 190 files with units, with 18,622 lines of code.
    • 0 very complex files (McCabe index sum 251+; 0 lines of code)
    • 1 complex files (McCabe index sum 126-250; 393 lines of code)
    • 2 medium complex files (McCabe index sum 51-125; 1,168 lines of code)
    • 8 slightly complex files (McCabe index sum 26-50; 1,896 lines of code)
    • 179 simple files (McCabe index sum 1-25; 15,165 lines of code)
  • 416 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system0% | 2% | 6% | 10% | 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% | 6% | 18% | 11% | 63%
tsx0% | 0% | 0% | 7% | 92%
py0% | 0% | 0% | 96% | 3%
js0% | 0% | 0% | 6% | 93%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
projects0% | 2% | 6% | 10% | 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
schema.ts
in projects/deliberation_at_scale/packages/data-core/src/database
393 146 146 37 1
enrichVoteCheck.ts
in projects/deliberation_at_scale/packages/orchestrator/src/tasks
589 54 101 17 26
updateRoomProgression.ts
in projects/deliberation_at_scale/packages/orchestrator/src/tasks
579 21 82 14 24
useRealtimeQuery.ts
in projects/deliberation_at_scale/packages/frontend/hooks
294 3 46 16 42
index-prev.tsx
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/pages/intro
542 2 44 8 41
tbm.py
in projects/Aligned-Platform-EnergizeAI/taxonomybuilder
230 8 42 18 14
tasks.ts
in projects/deliberation_at_scale/packages/orchestrator/src/utilities
249 17 34 14 16
index.tsx
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/pages/controlpanel
109 3 33 30 29
mturk.js
in projects/case_law_for_ai_policy/interactive/frontend/js
96 10 29 30 5
RoomOutcome.tsx
in projects/deliberation_at_scale/packages/frontend/components
148 4 28 19 18
handleQueuedParticipants.ts
in projects/deliberation_at_scale/packages/orchestrator/src/tasks
228 8 28 12 10
index.tsx
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/pages/intro
113 1 24 21 24
useIsMobile.ts
in projects/deliberation_at_scale/packages/frontend/hooks
29 2 18 62 17
messages.ts
in projects/deliberation_at_scale/packages/orchestrator/src/utilities
151 10 18 12 4
misc.ts
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/utils
75 11 18 24 5
index.tsx
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/pages
182 1 18 10 18
index.ts
in projects/deliberation_at_scale/packages/edge-functions/supabase/functions/transcribe
244 4 17 7 14
posts.js
in projects/Ubuntu_AI_a_platform_for_equitable_and_inclusive_model_training/frontend/frontend/src/hooks
73 10 16 22 3
EvaluateChatFlow.tsx
in projects/deliberation_at_scale/packages/frontend/components/ChatFlow
149 16 16 11 1
useLobby.ts
in projects/deliberation_at_scale/packages/frontend/hooks
102 1 16 16 16
screencast.ts
in projects/deliberation_at_scale/packages/orchestrator/src/tasks
139 16 16 12 1
constitution.needs-help.tsx
in projects/Aligned-Platform-EnergizeAI/app/src/components/playground
216 4 16 7 7
VotingIntro.tsx
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/components
289 2 16 6 12
index.tsx
in projects/deliberation_at_scale/packages/frontend/components/ChatFlow
298 6 15 5 4
prolific-completion-dialog.tsx
in projects/Aligned-Platform-EnergizeAI/app/src/components/prolific
220 5 15 7 11
PermissionChatFlow.tsx
in projects/deliberation_at_scale/packages/frontend/components/ChatFlow
223 9 14 6 5
graphileWorker.ts
in projects/deliberation_at_scale/packages/orchestrator/src/lib
133 5 14 11 6
useRoomMessages.ts
in projects/deliberation_at_scale/packages/frontend/hooks
111 3 13 12 11
ChatInput.tsx
in projects/deliberation_at_scale/packages/frontend/components
162 3 12 7 10
enrichTopicIntroduction.ts
in projects/deliberation_at_scale/packages/orchestrator/src/tasks
88 12 12 14 1
energize-engine.ts
in projects/Aligned-Platform-EnergizeAI/app/src/lib
65 4 12 18 5
live.tsx
in projects/Aligned-Platform-EnergizeAI/app/src/pages
163 5 12 7 8
useRoomActions.ts
in projects/deliberation_at_scale/packages/frontend/hooks
103 5 11 11 5
ProfileChatFlow.tsx
in projects/deliberation_at_scale/packages/frontend/components/ChatFlow
92 10 10 11 1
triggerRoomProgressionUpdates.ts
in projects/deliberation_at_scale/packages/orchestrator/src/tasks
77 2 10 13 9
data-table-column-header.tsx
in projects/Aligned-Platform-EnergizeAI/app/src/components/ui
82 1 10 12 10
use-paginated-table-state.ts
in projects/Aligned-Platform-EnergizeAI/app/src/lib
71 1 10 14 10
[space_id].tsx
in projects/Aligned-Platform-EnergizeAI/app/src/pages/prolific
225 5 10 4 4
outcomes.ts
in projects/deliberation_at_scale/packages/orchestrator/src/utilities
77 4 9 12 6
openai.ts
in projects/deliberation_at_scale/packages/orchestrator/src/lib
202 5 9 4 3
search-filter-combobox.tsx
in projects/Aligned-Platform-EnergizeAI/app/src/components/ui
119 1 9 8 9
export-form.tsx
in projects/Aligned-Platform-EnergizeAI/app/src/components/spaces/export
446 4 9 2 3
use-stream-text-data-from-api.ts
in projects/Aligned-Platform-EnergizeAI/app/src/lib
55 1 9 16 9
Navbar.tsx
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/components/Navbar
102 2 9 9 7
ProposalQuadraticVote.tsx
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/components/Proposal
169 1 9 5 9
instructions.tsx
in projects/Aligned-Platform-EnergizeAI/app/src/pages/spaces/[space_id]
185 6 8 4 2
snapshot.ts
in projects/inclusive_ai_a_chatgpt_plugin_and_dao_to_engage_marginalized_groups_in_ai/Inclusive.AI app/website/src/utils
201 6 8 4 2
page.tsx
in projects/deliberation_at_scale/packages/frontend/app/[lang]
79 1 7 9 7
useGiveOpinion.ts
in projects/deliberation_at_scale/packages/frontend/hooks
78 1 7 9 7
usePingParticipant.ts
in projects/deliberation_at_scale/packages/frontend/hooks
41 1 7 17 7
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...