60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
# Maintainability Backlog
|
|
|
|
This backlog tracks large-file and boundary risks that should be reduced in
|
|
small, focused follow-up changes. It is intentionally separate from feature
|
|
plans so stabilization work does not become a hidden refactor.
|
|
|
|
## Current Priority
|
|
|
|
1. `Backend/Endpoints/AdminSiteSettingsEndpoints.cs`
|
|
- Risk: settings, content, operational toggles, OAuth/demo handling, and
|
|
mapping live in one endpoint file.
|
|
- Next split: move mapping/snapshot/change-detection helpers into a focused
|
|
support file or service.
|
|
|
|
2. `frontend/src/components/admin/useAdminSeasonManager.ts`
|
|
- Risk: season forms, phase gateways, readiness facts, dashboard links, and
|
|
navigation helpers are coupled in one composable.
|
|
- Next split: extract phase-gateway/readiness builders into a pure
|
|
TypeScript helper with unit-test-friendly functions.
|
|
|
|
3. `frontend/src/components/home/HomeExtrasSection.vue`
|
|
- Risk: public extras, showact/sponsor presentation, and responsive layout
|
|
are harder to reason about in one component.
|
|
- Next split: separate showact, sponsor, and footer/content blocks into
|
|
focused presentational components.
|
|
|
|
4. `Backend/Endpoints/AdminSeasonDetailEndpoints.cs`
|
|
- Risk: one endpoint assembles categories, nominations, voting workspace,
|
|
winners, clips, rules, and mappings.
|
|
- Next split: move voting-workspace assembly into an admin voting service
|
|
and keep the endpoint as orchestration.
|
|
|
|
5. `frontend/src/views/admin/AdminTeamView.vue`
|
|
- Risk: member table, role matrix, modals, permission explanations, and
|
|
actions share one route-level view.
|
|
- Next split: extract the permission matrix and member editor into separate
|
|
components.
|
|
|
|
## Audit Command
|
|
|
|
Run:
|
|
|
|
```bash
|
|
scripts/file-size-audit.sh
|
|
```
|
|
|
|
Default warning threshold is 500 lines. Override with:
|
|
|
|
```bash
|
|
MAX_LINES=650 scripts/file-size-audit.sh
|
|
```
|
|
|
|
## Refactor Rules
|
|
|
|
- Do not combine these refactors with unrelated feature work.
|
|
- Prefer pure helper extraction before behavior changes.
|
|
- Keep route-level Vue views thin.
|
|
- Keep backend endpoint files focused on HTTP shape and orchestration.
|
|
- Re-run frontend/backend builds after any extraction.
|