Files
Deal/docs/superpowers/plans/2026-09-11-codestyle-остатки.md
T
Rustam Khalimov 27c7831910
ci / build-test (push) Canceled after 0s
Deal — единая кодовая база
SaaS-мониторинг Telegram: ядро (модули Cards/Kanban/Pipeline/Tenants/Settings/
Discovery, Api, Infrastructure), сервисы telegram/ai/ml/storage, фронт Vue,
контракты и grpc-hosting, деплой-конфиги (dev/prod/observability/CI-раннер),
Gitea Actions CI, документация (ТЗ, техдок, api-map, код-стайл, планы, бэклог).

Текущее состояние: все этапы роадмапа 0–12 закрыты, сборка 5 sln 0/0,
тесты 1340/130/52/38/9 зелёные.
2026-09-11 23:56:47 +03:00

3.3 KiB

План: закрытие остатков код-стайла (2026-09-11, вечер)

Источник: backlog.mdTD-COMMENTS-IFACE (п.3, п.4), TD-STYLE-ANALYZERS, найденное при проверке проекта. Правила — docs/spec/Код-стайл-Дейл.md, отчёт — docs/spec/Код-стайл-аудит-2026-09-11.md §2. Ограничения захода: без поднятия Docker-стека и без внешних кредов.

Задачи

  1. Замер остатков (dry-run, без правок): сканами по тексту и по имени члена проверить дубли <summary> реализации ↔ интерфейса; разбивку var; латинские комментарии; членов интерфейсов без дока; TODO; переводы строк по расширениям.
  2. var для встроенных типов: .editorconfigcsharp_style_var_for_built_in_types = false:warning (гейт ломает сборку), остаток выправить dotnet format style --diagnostics IDE0008 по 5 решениям. «Очевидный тип» и «прочие» — оставить silent (субъективно, ~1600 замен).
  3. Дедупликация <summary><inheritdoc/>: по результатам замера — либо codemod, либо закрытие «дублей нет».
  4. Переводы строк: решение политики + нормализация (.gitattributes, .editorconfig, конверсия файлов, git add --renormalize); проверить, что .sh — LF (Linux CI).
  5. Попутные доки/комментарии: недостающие <summary> членам интерфейсов; англоязычные //-комментарии; повторный прогон fix_private_docs.py; устаревший блок в STATUS.md; трекаемые .pyc из индекса.
  6. Приёмка: build 5 sln 0/0, все тесты зелёные; обновить backlog.md/STATUS.md.

Решения

  • Явные реализации интерфейсов (§11) — не автоматизировать: остаётся точечным ревью владельца (замер: 54 интерфейса с XML-doc, 43 с реализациями; массовая правка ломает публичную поверхность классов).
  • Переводы строк — LF (инструменты проекта пишут LF; CRLF-.sh ломают sh scripts/ci.sh на Linux CI; большинство файлов уже LF). Откат — git revert нормализации.
  • Гейт var — только на встроенные типы: правило §4 запрет говорит про встроенные/неочевидные, «неочевидность» не проверяется машиной.

Приёмка

  • build 5 sln: 0 warnings / 0 errors (гейт IDE0008 проходит).
  • Тесты: core / telegram / ai / ml / storage — зелёные, счётчики в STATUS.md.
  • Фронт не менялся содержательно (только концы строк) — build/lint:i18n не прогонялись.