TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.74K subscribers
Post #1490 1.79K
День 1205. #ЗаметкиНаПолях
Профессиональное Документирование Кода
Все мы (надеюсь) документируем свои классы и методы с помощью XML комментариев <summary>, которые можно добавить с помощью тройного слеша (///) над заголовком метода/класса. Однако далеко не все используют все возможности этой документации, редко выходя за описание собственно элемента, параметров в <param> и возврата в <returns>. Вот некоторые полезные теги, позволяющие сделать подсказки более информативными.

1. Секция <remarks>
Добавит новый абзац текста после текста описания в summary, в котором можно указать дополнительную информацию. Кстати, можно добавить только один блок <remarks>, остальные просто игнорируются. Однако можно разделить текст внутри <remarks> на параграфы с помощью тега <para>.

2. Секция <exception>
Позволяет описать исключения, которые может выбросить метод:
<exception cref="класс">описание</exception>
Класс исключения должен быть доступен из текущего кода при компиляции.

3. Тег <inheritdoc/>
Позволяет унаследовать описание из другого элемента (класса, интерфейса или метода).
- <inheritdoc/> для класса наследует все описания всех членов.
- <inheritdoc cref="сигнатура"/> - позволяет указать, из какого члена унаследовать описание. Существующие теги на текущем члене не будут перезаписаны.
- <inheritdoc [cref=""] path="путь"/> - позволяет указать путь XPath к тегам, которые нужно унаследовать. Таким образом можно отфильтровывать ненужные или только нужные теги.

4. Тег <paramref/>
Позволяет в описании сослаться на параметр метода, выделив его в тексте: <paramref name="параметр"/>.

5. Тег <see/>
Позволяет добавить ссылку на другой объект или внешний источник в тексте.
- <see cref="сигнатура"/> - ссылка на член или поле, доступное для вызова из текущей среды компиляции.
- <see href="ссылка" /> - кликабельная ссылка на указанный URL. Например, <see href="https://github.com">GitHub</see> создаёт кликабельную ссылку с текстом GitHub, которая ссылается на https://github.com.
- <see langword="слово" /> - ключевое слово языка, например true или одно из других допустимых ключевых слов. Кроме того, правильно отображает ключевое слово в подсказке (например, true в C# и True в VB).

6. Тег <seealso/>
Аналогично тегу <see/> позволяет добавлять кликабельные ссылки на другой объект или внешний источник в секции «См. также». Нельзя использовать внутри <summary>.

7. Тег <include/>
Позволяет ссылаться на комментарии в отдельном файле, описывающие типы и элементы в исходном коде:
<include file='путь к файлу' path='путь к элементу' />
Использование внешнего файла является альтернативой размещению документации непосредственно в файле исходного кода. Это позволяет применять систему управления версиями к документации отдельно от исходного кода. Один человек может менять файл исходного кода, а другой — файл документации.

Источник: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags
  • 👍 26
More from @netdeveloperdiary
  1. Sep 26, 2026День 2796. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Продолжение Начало Три…
  2. Sep 25, 2026День 2795. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Начало Проблема с позиц…
  3. Sep 24, 2026День 2794. #Оффтоп #Здоровье Сегодня будет необычный пост. Завтра в Москве стартует конфер…
  4. Sep 23, 2026День 2793. #ЗаметкиНаПолях #SQL 10 Редких Возможностей SQL, Которые Стоит Знать Каждому. Ч…
  5. Sep 22, 2026День 2792. #ЗаметкиНаПолях #SQL 10 Редких Возможностей SQL, Которые Стоит Знать Каждому. Ч…
  6. Sep 21, 2026🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября(уже завтра!) в 1…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →