guardian/interactive-mayor-second-votes Size, age and recent activity of the codebase. |
for people* (7/10)
for AI* (7/9)
Rule-of-thumb estimates
Rebuild value
Maintenance effort
analysis.maintainabilityScores.- File complexity1.8×1−1.353% of main code in files with McCabe sum > 125
For people: Complex files concentrate risk: understanding one means keeping many paths in mind.
For AI agents: Much to read and much logic to get right in one place: the costliest combination for an agent.
- Tests presence1.0×0.75−1.3no test code
For people: A test suite documents the intended behaviour and makes changes safe. Counted is whether there is one of reasonable size, not its coverage.
For AI agents: Tests let an agent check its own work; without them its mistakes surface later, in review or in production.
- Unit size5.9×1.5−0.620% of unit code in units > 50 lines
For people: Long functions do many things at once: they are hard to name, read, test and reuse.
For AI agents: To change one line, an agent reads and often rewrites the whole function: bigger edits, more tokens, more breakage.
- File size4.2×0.75−0.535% of main code in files > 500 lines
For people: Large files are hard to navigate, mix responsibilities and attract merge conflicts.
For AI agents: Agents read whole files into their context: every change to a large file costs many tokens and crowds out other relevant code.
- Volume9.8×12,378 lines of main code
For people: More code is more to learn, search and keep in mind; onboarding and judging a change's impact slow down as it grows.
For AI agents: An agent sees only a slice at a time: the bigger the code base, the more it searches, and the likelier it misses relevant code or rewrites an existing helper.
- Duplication9.7×11% of main code duplicated
For people: A fix in one copy must be repeated in all the others; a missed copy becomes a bug.
For AI agents: Agents copy the patterns they find, so duplicates multiply; a change to one copy misses the others, and every copy costs context.
- Unit complexity10.0×20% of unit code with McCabe > 25
For people: Every branch is another path to understand and test; complex logic is where mistakes are made and missed in review.
For AI agents: Nested conditions are where generated changes break edge cases; complex units need more tests and review before an agent's change can be trusted.
- Tests presence1.0×1.5−2.3no test code
For AI agents: Tests let an agent check its own work; without them its mistakes surface later, in review or in production.
For people: A test suite documents the intended behaviour and makes changes safe. Counted is whether there is one of reasonable size, not its coverage.
- File size4.2×1.75−0.935% of main code in files > 500 lines
For AI agents: Agents read whole files into their context: every change to a large file costs many tokens and crowds out other relevant code.
For people: Large files are hard to navigate, mix responsibilities and attract merge conflicts.
- File complexity1.8×0.75−0.753% of main code in files with McCabe sum > 125
For AI agents: Much to read and much logic to get right in one place: the costliest combination for an agent.
For people: Complex files concentrate risk: understanding one means keeping many paths in mind.
- Unit size5.9×1−0.320% of unit code in units > 50 lines
For AI agents: To change one line, an agent reads and often rewrites the whole function: bigger edits, more tokens, more breakage.
For people: Long functions do many things at once: they are hard to name, read, test and reuse.
- Volume9.8×0.752,378 lines of main code
For AI agents: An agent sees only a slice at a time: the bigger the code base, the more it searches, and the likelier it misses relevant code or rewrites an existing helper.
For people: More code is more to learn, search and keep in mind; onboarding and judging a change's impact slow down as it grows.
- Duplication9.7×1.51% of main code duplicated
For AI agents: Agents copy the patterns they find, so duplicates multiply; a change to one copy misses the others, and every copy costs context.
For people: A fix in one copy must be repeated in all the others; a missed copy becomes a bug.
- Unit complexity10.0×10% of unit code with McCabe > 25
For AI agents: Nested conditions are where generated changes break edge cases; complex units need more tests and review before an agent's change can be trusted.
For people: Every branch is another path to understand and test; complex logic is where mistakes are made and missed in review.
- 1curl.jsharness/McCabe 256835 LOC
- 2votes.jssrc/js/components/McCabe 35325 LOC
- 3svg.jssrc/js/lib/McCabe 1461 LOC
- 4throttle.jssrc/js/lib/McCabe 1231 LOC
- 5rAF.jssrc/js/polyfill/McCabe 822 LOC
- 6share.jssrc/js/lib/McCabe 721 LOC
- 7McCabe 6218 LOC
- 8debounce.jssrc/js/lib/McCabe 514 LOC
- 9array.jssrc/js/lib/McCabe 39 LOC
- 10fetch.jssrc/js/lib/McCabe 29 LOC
| Standard analyses: | Main Code: 2,378 LOC (33 files) = JS (79%) + SCSS (15%) + HTML (3%) + TPL (1%) Secondary code: Test: 0 LOC (0); Generated: 0 LOC (0); Build & Deploy: 5 LOC (1); Other: 296 LOC (7); |
||
| Duplication: 1% | |||
| File Size: 0% long (>1000 LOC), 17% short (<= 200 LOC) | |||
|
|
Logical Component Decomposition: primary (3 components) | ||
| Goals: Keep the system simple and easy to change (4) | |||
| Experimental analyses (less reliable heuristic analyses): | |||
| Unit Size: 15% long (>100 LOC), 56% short (<= 10 LOC) | |||
| Conditional Complexity: 0% complex (McCabe index > 50), 68% simple (McCabe index <= 5) | |||
|
|
Static Component Dependencies: primary (3 components) | ||
No commit history found.
Visual Code Explorers
| MAIN (33) | Circles | Sunburst | |
| TEST (0) |
Circles
|
Sunburst
|
|
| BUILD AND DEPLOYMENT (1) | Circles | Sunburst | |
| GENERATED (0) |
Circles
|
Sunburst
|
|
| OTHER (7) | Circles | Sunburst |
File Visualizations
File size views:
Duplication views:
File age views:
File change frequency views:
Contributors per file views:
Contributor Visualizations
Contributor dependency views:
Components and Dependencies Visualizations
| Components | Temporal Dependencies | Duplication | Commits Racing Charts | ||||||||||
| 30 days | 3 months | 6 months | |||||||||||
| PRIMARY (3) | Bubble Chart | Tree Map |
2D
|
3D
|
2D
|
3D
|
2D
|
3D
|
All Time | 12 Months | |||
File Dependencies Visualizations
Temporal dependencies among files:
|
Units Visualizations
Unit size and conditional complexity views:
Lists of Files Per Scope
- MAIN (33 files)
-
TEST
- BUILD AND DEPLOYMENT (1 file)
-
GENERATED
- OTHER (7 files)
- FILES: History Data
- IGNORED FILES: By Extension | By Rule
Analysis Results
- CONFIGURATION: JSON
- ALL ANALYSIS RESULTS: JSON
- DUPLICATES: TXT | JSON
- UNITS: TXT | JSON
- CONTRIBUTORS: TXT | JSON
- LOGICAL DECOMPOSITIONS: JSON
- CONCERNS: JSON
- CONTROLS: TXT
- ALL METRICS: TXT