Перейти к содержанию

Комментарии

Ко всех публичным классам должны быть написаны комментарии.

Обязательны к комментированию:

  • сами классы/enum/делегаты
  • публичные методы
  • публичные свойства

Общие требования

Комментарии пишутся на английском или русском языках

Зависит от проекта. Но в проекте все должно быть на одному языке.

В конце комментария должна быть точка

Мотивация

Соответствуем рекомендация от Microsoft.

Комментарии должны быть xml, а не простыми комментариями на C

Неправильно

// key for account activation
public string ActivationKey { get; set; }

Правильно

/// <summary>
/// Key for account activation.
/// </summary>
public string ActivationKey { get; set; }

У методов и конструкторов также должны быть комментарии к:

  • аргументам
  • возвращаемым значениям
  • типам, если класс/метод - generic

При наследовании или реализации интерфейсов следует наследовать документацию с помощью inheritdoc:

/// <inheritdoc />
public class YandexPaymentOptions : IYandexPaymentOptions
{
  /// <inheritdoc />
  public long YandexShopId { get; set; }
}

Комментарии методов должны быть в 3-ем лице

Неправильно

/// <summary>
/// Проверка опциий и возврат списка ошибок.
/// </summary>
/// <returns>
/// Список ошибок. Если опции валидны, список будет пустым.
/// </returns>
public IReadOnlyCollection<ConfigValidationError> Validate(string prefix = null);

Правильно

/// <summary>
/// Проверяет валидность опциий и возвращает список ошибок.
/// </summary>
/// <returns>
/// Список ошибок. Если опции валидны, список будет пустым.
/// </returns>
public IReadOnlyCollection<ConfigValidationError> Validate(string prefix = null);

Полезные ссылки