From 1e118e9bba49291723913495f159958e5f4a4d7d Mon Sep 17 00:00:00 2001 From: Rustam Khalimov Date: Fri, 11 Sep 2026 13:31:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D1=84=D0=B8=D0=BA=D1=81=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D1=81=D1=82=D1=80=D1=83?= =?UTF-8?q?=D0=BA=D1=82=D1=83=D1=80=D1=83=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=B2=20=D0=BA=D0=BE=D0=B4-=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Правило: namespace = путь папки; состав папок по назначению и группировка тестовых проектов по областям (Support для общих хелперов). --- docs/spec/Код-стайл-Дейл.md | 8 ++++++++ 1 file changed, 8 insertions(+) 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`).