Учтите, что у меня сложная структура классов, где многие элементы наследуются от других элементов. У меня может быть метод GetStuff(string stuffName, int count)
, определенный в интерфейсе, который наследуется другим интерфейсом, который затем реализуется абстрактно абстрактным классом, который затем реализуется явным образом в конкретном классе и т. Д. И т. Д.Как документировать унаследованные элементы?
Как я могу обрабатывать унаследованные элементы, такие как GetStuff()
при документировании моего кода с комментариями XML, которые будут использоваться с таким инструментом, как Doxygen или Sandcastle? Кажется неправильным просто скопировать и вставить одно и то же описание на каждом уровне. Должен ли я рассматривать другую аудиторию на уровне интерфейса по сравнению с конкретным уровнем класса? Например, документация для GetStuff() на интерфейсе может учитывать людей, реализующих интерфейс, тогда как документация на конкретном уровне может вместо этого учитывать людей, которые будут использовать этот класс?
Хорошо, если бы я хотел документировать конкретную реализацию, я бы сделал это в рамках конкретной версии метода правильно? –
Разве не существует какого-то различия между тем, что потребители абстрактного члена захотят знать, и какие имплантаторы захотят узнать? Например, у меня есть метод абстрактного метода AddWidget (Widget w). Я хочу, чтобы конкретные имплантации выполняли ряд действий, таких как проверка нового виджета, обновление журнала и запуск события.Однако потребитель метода, вероятно, не заботится обо всем этом, и только должен знать, что целью метода является добавление нового виджета. –
@ Эрик: Вы правы в отношении абстрактных членов, которые несколько деликатно связаны с деталями реализации, уже содержащимися в абстрактном классе, которые требуют переопределения для выполнения определенных задач. В этих случаях, конечно, вам нужно документировать, что даже если вызывающий абонент не заботится об этом. Однако в * интерфейсных * методах это не имеет значения; интерфейсы не должны заботиться о деталях реализации. – Timwi