В нашей компании мы пишем чрезмерные комментарии Xml. Типичный метод должен быть документирован следующим образом:
/// <summary>
/// Determines whether this <see cref="IScheduler"/> contains a specific <see cref="ISchedule"/>.
/// </summary>
/// <param name="schedule">The <see cref="ISchedule"/> to locate in this <see cref="IScheduler"/>.</param>
/// <returns>
/// Returns <see langword="true"/> if <paramref name="schedule"/> is found in this <see cref="IScheduler"/>; otherwise, <see langword="false"/>.
/// </returns>
bool Contains(ISchedule schedule);
/// <summary>
/// Removes and <see cref="IDisposable.Dispose"/>s the first occurrence of a specific <see cref="ISchedule"/>
/// from this <see cref="IScheduler"/>.
/// </summary>
/// <param name="schedule">The <see cref="ISchedule"/> to remove from this <see cref="IScheduler"/>.</param>
/// <exception cref="System.ArgumentNullException">Is thrown when the parameter schedule is null.</exception>
/// <exception cref="System.ArgumentException">Is thrown when the <see cref="ISchedule"/> is not found in this <see cref="IScheduler"/> or was of the wrong type.</exception>
void Remove(ISchedule schedule);
Как вы можете видеть почти каждое существительное, на которое можно ссылаться, используя тег <see cref>
.
Я нахожу это слишком много. Большинство наших файлов кода настолько взорваны такими комментариями. Делает раздел комментариев почти нечитаемым.
Как вы думаете? Вам нравится такая документация в коде или нет?
Как обычно, я думаю, что нет черного/белого ответа на такой вопрос, почему я сделал это wiki.
EDIT:
Мой вопрос был не в том, что сами теги see-ref полезны по умолчанию. Понятно, что сгенерированные ссылки в файле .chm(или любой другой сгенерированный документ) очень полезны. Мой вопрос заключался в том, что действительно полезно отметить каждое появление каждого "связующего" существительного в комментариях.
Мы используем Sandcastle для генерации документа каждую ночь. К сожалению, он очень редко используется другими разработчиками, но это еще одна проблема.