From 94fdfeb4e5567363b97cfbcf8753421175d93e39 Mon Sep 17 00:00:00 2001 From: stepan Date: Sun, 13 Sep 2026 04:17:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5?= =?UTF-8?q?=D0=B9=D1=81=D0=BE=D0=B2=20=E2=80=94=20=D0=B1=D0=B5=D0=B7=20XML?= =?UTF-8?q?-=D0=B4=D0=BE=D0=BA=D0=BE=D0=B2=20(=D0=BA=D0=BE=D0=B4-=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=B9=D0=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/spec/Код-стайл-Дейл.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/spec/Код-стайл-Дейл.md b/docs/spec/Код-стайл-Дейл.md index fc1916c..5296b09 100644 --- a/docs/spec/Код-стайл-Дейл.md +++ b/docs/spec/Код-стайл-Дейл.md @@ -250,9 +250,12 @@ ## 11. Интерфейсы -- **Не дублировать `` интерфейса в реализации.** Если член объявлен в интерфейсе с XML-doc, - в классе-реализации достаточно `/// ` (или вообще ничего, если doc наследуется настройкой). - Текст описания пишется **один раз** — у интерфейса. +- **В реализациях интерфейсов XML-doc не пишем вообще.** Если тип или член объявлен в интерфейсе, + класс-реализация не документируется: ни ``, ни `` (и ни `` на + конструкторе). Описание живёт **один раз** — в интерфейсе; реализации вызываются только через порт. + Под этот запрет попадает и сам класс-реализация (его `` тоже лишний — есть у интерфейса). +- **XML-doc уместен только там, где нет интерфейса:** public-типы/члены без порта (статика, константы, + extension-классы), `protected`-члены и DTO/модели. **[изм. 2026-09-13, решение владельца]** - **Явная реализация интерфейсов — по умолчанию** (`Task ICardStore.GetAsync(...)`). **[изм. 2026-09-11, решение владельца]** Классы напрямую не вызываются — только через интерфейсы; исключения: DTO/модели (напр. `Card` и семейство `I*Card`), хелперы, extension-классы. Весь прод-код уже переведён на явные