diff --git a/docs/spec/Код-стайл-Дейл.md b/docs/spec/Код-стайл-Дейл.md index 0e4e80b..274eefd 100644 --- a/docs/spec/Код-стайл-Дейл.md +++ b/docs/spec/Код-стайл-Дейл.md @@ -40,6 +40,14 @@ - Один публичный тип — один файл; имя файла = имя типа. **[изм.]** Правило усилено: смешивать типы в одном файле нельзя (небольшие вспомогательные private-классы — исключение). +- **`namespace` строго соответствует пути папки** (для тестов — тоже). Файлы группируются по назначению: + `Abstractions` (интерфейсы `I*`), `Services` (сервисы/воркеры/исполнители), `Models` (доменные типы, + enum/статусы/константные реестры), `Dtos` (`*Dto`/`*Request`/`*Response`/`*Patch`), `Extensions` + (`*Extensions`), `Options` (`*Options`), `Exceptions` (`*Exception`), `Registrars` (`*ModuleRegistrar`), + `Configurations` (EF-конфигурации), `Entities`, `Repositories`. Feature-папки допустимы и сохраняются + (`Endpoints`, `Middleware`, `Hosting`, `Parsing`, `ColumnRules` и т.п.). +- **Тестовые проекты** группируются по областям (`Modules/`, `Api`, `Infrastructure`, `Contracts`, + `Grpc`, …), общие фейки/хелперы — в `Support`; `namespace` = `<ПроектТестов>.<Область>`. - В одном файле — один `namespace`. File-scoped namespace допустим. - Все `using` — в начале файла; сначала системные, затем сторонние/project. - `using` внутри `namespace` не используются (внешние `using`).