Существует ли стандартное соглашение (например, phpdoc или python docstring) для комментирования кода С#, чтобы документация классов автоматически генерировалась из исходного кода?
Существует ли стандартный (например, phpdoc или python docstring) комментарий для кода С#?
Ответ 1
Вы можете использовать комментарии стиля XML и использовать инструменты, чтобы вытащить эти комментарии из документации API.
Вот пример стиля комментария:
/// <summary>
/// Authenticates a user based on a username and password.
/// </summary>
/// <param name="username">The username.</param>
/// <param name="password">The password.</param>
/// <returns>
/// True, if authentication is successful, otherwise False.
/// </returns>
/// <remarks>
/// For use with local systems
/// </remarks>
public override bool Authenticate(string username, string password)
Некоторые элементы для облегчения этого:
GhostDoc, которые дают одну комбинацию клавиш для автоматического создания комментариев для класса или метода. Sandcastle, который генерирует документацию в стиле MSDN из комментариев XML.
Ответ 2
/// <summary>
///
/// </summary>
/// <param name="strFilePath"></param>
Ответ 3
С# имеет встроенную документацию команды Веселитесь!
Ответ 4
Microsoft использует " Комментарии к документации XML", которая даст описания IDE intellisense, а также позволит автоматически генерировать документацию в стиле MSDN, используя инструмента, такого как Sandcastle, если вы включите генерацию выходного файла XML.
Чтобы включить генерацию файла XML для документации, щелкните правой кнопкой мыши на проекте в visual studio, нажмите "Свойства" и перейдите на вкладку "Построить". Внизу вы можете указать местоположение для выходного файла комментариев XML.
Ответ 5
В предыдущих ответах синтаксис XML отлично. Я просто хотел бросить свою рекомендацию для бесплатного (и открытого источника) генератора библиотек nDoc, который анализирует все комментарии в проекте.
Ответ 6
Мне всегда говорили использовать комментарии блоков, открытые с 2 или более звездочками, чтобы разграничить комментарии к документации.
/**
Documentation goes here.
(flowerboxes optional)
*/