Summary должен описывать именно выбор последних элементов с сохранением порядка. Пограничные случаи, ограничения источника и исключения фиксируются отдельно, а не выводятся из имени метода.
Как документировать контракт метода FilterLast в C#?
Summary должен описывать именно выбор последних элементов с сохранением порядка. Пограничные случаи, ограничения источника и исключения фиксируются отдельно, а не выводятся из имени метода.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Метод FilterLast<T>(IEnumerable<T> source, int n) возвращает последние n элементов конечной последовательности в исходном порядке. При n=0 результат пустой, при n больше длины — вся последовательность. Отрицательное n и null source вызывают исключения. Сформулируйте XML-документацию.
Ответ
Summary должен описывать именно выбор последних элементов с сохранением порядка. Пограничные случаи, ограничения источника и исключения фиксируются отдельно, а не выводятся из имени метода.
/// <summary>Возвращает последние n элементов конечной последовательности
/// с сохранением их исходного порядка.</summary>
/// <param name="source">Непустая ссылка на конечную последовательность.</param>
/// <param name="n">Неотрицательное количество элементов.</param>
/// <returns>При n=0 — пустой результат; при n больше длины — все элементы.</returns>
/// <exception cref="ArgumentNullException">source равен null.</exception>
/// <exception cref="ArgumentOutOfRangeException">n меньше нуля.</exception>
Слово «конечная» существенно: получить последние элементы бесконечного потока в общем случае невозможно. Момент проверки аргументов нужно дополнительно согласовать с реализацией ленивого перечисления.