refactor: apply 'one folder = one purpose' rule to overflowed packages

- Split by sub-purpose: storage/sql -> schema/+query/+repo/, adaptive/core ->
  calc/+metrics/+model/, command/admin -> ops/+support/, api/event ->
  session/+score/+generation/, menu/core -> screen/, config/core -> merge/,
  config/options -> section/, player/service -> ui/, hook/papi -> resolver/
  (done), mode/impl -> solo/+multi/+barrier/ (done)
- Move util/gui migration stubs -> menu/gui; lpschem POJOs -> pojo/
- Cross-package classes made public (signatures unchanged); fixed imports
- docs/ARCHITECTURE.md + TODO.md updated
- Build green: checkstyle 0 errors, PMD 34
This commit is contained in:
loki5512344 2026-08-05 18:50:39 +02:00
parent 81788e71ed
commit de47bce56e
Signed by: boba
GPG key ID: 253067914055423B
88 changed files with 228 additions and 167 deletions

13
TODO.md
View file

@ -266,12 +266,13 @@ Checkstyle отработал `0 errors` (error-уровневые legacy-нар
> Leaderboard→LeaderboardRecords.
> Актуальные счётчики: **checkstyle 0 errors / 1413 warnings**, **PMD 34**. Пункты 132–138 — в силе.
>
> ## ✅ ПРОГРЕСС-2 (правило «одна папка = одна цель» — пилоты применены)
> Правило добавлено в `docs/ARCHITECTURE.md` (п.8 «Принципы проектирования»). Пилоты: `command/`
> → core/ + util/ (player/ уже был), `mode/impl/` → solo/ + multi/ + barrier/, `hook/papi/` → resolver/.
> Классы, пересекающие пакеты, стали public (сигнатуры не менялись). Остальные переполненные папки
> (storage/sql, adaptive/core, api/event, menu/core, config/core|options, schematic/legacy/lpschem,
> player/service, generator/*, util/gui и др.) — кандидаты на аналогичное разбиение по под-целям.
> ## ✅ ПРОГРЕСС-2 (правило «одна папка = одна цель» — применено полностью)
> Правило в `docs/ARCHITECTURE.md` (п.8). Выполнено разбиение переполненных пакетов: `command/`→core/+util/,
> `mode/impl/`→solo/+multi/+barrier/, `hook/papi/`→resolver/, `storage/sql/`→schema/+query/+repo/,
> `adaptive/core/`→calc/+metrics/+model/, `api/event/`→session/+score/+generation/, `config/core/`→merge/,
> `config/options/`→section/, `player/service/`→ui/, `menu/core/`→screen/, `util/gui/`→`menu/gui/`,
> `schematic/legacy/lpschem/`→pojo/. Пересекающие пакеты классы стали public (сигнатуры не менялись).
> Сборка: **checkstyle 0 errors / 1413 warnings, PMD 34, build ✓**.
- **132. [C] Почистить `FinalLocalVariable` (legacy, ~1034 warning / 120 файлов).** Объявить локальные переменные `final`. Делать вместе с декомпозицией, а не отдельным проходом.
- **133. [C] Почистить `MagicNumber` (legacy, ~346 warning / 60 файлов).** Заменить магические числа на именованные константы (приоритет: конфиг- и стиль-коэффициенты, пороги сложности, тайминги).