Аудит §2 переписан под решения (var-гейт, LF, дедуп закрыт — дублей нет); backlog: TD-COMMENTS-IFACE п.1–3 закрыты, TD-STYLE-ANALYZERS закрыт; STATUS.md — новый блок захода, устаревший блок «Осталось (в backlog)» в шапке удалён; план и ledger захода.
3.3 KiB
3.3 KiB
План: закрытие остатков код-стайла (2026-09-11, вечер)
Источник:
backlog.md—TD-COMMENTS-IFACE(п.3, п.4),TD-STYLE-ANALYZERS, найденное при проверке проекта. Правила —docs/spec/Код-стайл-Дейл.md, отчёт —docs/spec/Код-стайл-аудит-2026-09-11.md§2. Ограничения захода: без поднятия Docker-стека и без внешних кредов.
Задачи
- Замер остатков (dry-run, без правок): сканами по тексту и по имени члена проверить дубли
<summary>реализации ↔ интерфейса; разбивкуvar; латинские комментарии; членов интерфейсов без дока; TODO; переводы строк по расширениям. varдля встроенных типов:.editorconfig→csharp_style_var_for_built_in_types = false:warning(гейт ломает сборку), остаток выправитьdotnet format style --diagnostics IDE0008по 5 решениям. «Очевидный тип» и «прочие» — оставитьsilent(субъективно, ~1600 замен).- Дедупликация
<summary>→<inheritdoc/>: по результатам замера — либо codemod, либо закрытие «дублей нет». - Переводы строк: решение политики + нормализация (
.gitattributes,.editorconfig, конверсия файлов,git add --renormalize); проверить, что.sh— LF (Linux CI). - Попутные доки/комментарии: недостающие
<summary>членам интерфейсов; англоязычные//-комментарии; повторный прогонfix_private_docs.py; устаревший блок вSTATUS.md; трекаемые.pycиз индекса. - Приёмка: 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не прогонялись.