#asp.net #documentation-generation #evaluation
#asp.net #документация-генерация #оценка
Вопрос:
Я рассматриваю возможность потребовать от моей команды более тщательного документирования своего кода для некоторых крупных предстоящих проектов и, чтобы сделать жизнь немного менее болезненной, я ориентируюсь на генераторы XML-документации, такие как Sandcastle, Doxygen или Box Live Documenter.
Какие ключевые соображения я должен учитывать при оценке наилучшего варианта и какой опыт привел вас к конкретному решению?
Комментарии:
1. Также взгляните на docu
Ответ №1:
Для меня ключевыми соображениями были бы:
-
Полностью автоматизированный: можно ли настроить его таким образом, чтобы для создания или редактирования документации практически не требовалось никакой внешней работы.
-
Полностью оформленный: Может ли документация быть полностью оформлена так, чтобы она отлично смотрелась в wiki или pdf после ее создания. Я должен иметь возможность изменять цвета, размеры шрифта, макеты и т.д.
-
Хорошая фильтрация: я могу выбрать только те элементы, которые я хочу, чтобы они были сгенерированы. Я должен быть в состоянии фильтровать пространства имен, типы файлов, классы и т.д.
-
Настройка: Могу ли я включать верхние и нижние колонтитулы, пользовательские элементы и т.д.
Я обнаружил, что Doxygen может все это делать. Наш рабочий процесс следующий:
-
Разработчик вносит изменения в код
-
Они обновляют теги документации прямо над кодом, который они только что изменили
- Мы нажимаем кнопку сгенерировать
Затем Doxygen извлечет всю XML-документацию из кода, отфильтрует ее, чтобы включать только те классы и методы, которые нам нужны, и применит стиль CSS, который мы предварительно создали для этого. Наш конечный результат — это внутренняя wiki, которая выглядит так, как мы хотим, и не требует редактирования.
Дополнительно: У нас есть все наши проекты в различных репозиториях git. Мы переносим все это в одну корневую папку и создаем документы из этой корневой папки..
Было бы интересно узнать, как другие автоматизируются еще больше ..?
Ответ №2:
- Кто платит за документацию и почему? (достаточно ли стабильна система, добавляет ли она достаточную ценность)
- Кто собирается это прочитать и почему она не использует более эффективный канал связи? (если правильно, в основном расстояние по времени / месту)
- Кто будет поддерживать ее в актуальном состоянии.
- Когда вы собираетесь ее уничтожить? (Автоматически, если она не была прочитана или обновлена за последние три месяца?)
Я в основном предпочитаю лучший код, чтобы сделать мою жизнь менее болезненной, большему количеству документации, но мне нравятся сценарии и модульные тесты и высокоуровневое описание архитектуры.
[редактировать] Написание документации требует времени и денег, чтобы поддерживать ее в актуальном состоянии. Документация в стиле JavaDoc оказывает серьезное негативное влияние на объем одновременно видимого кода и может быть хорошей идеей для разработчиков, использующих код, но не для тех, кто его пишет.
Комментарии:
1. а? я тоже верю в читаемый код, но в моем текущем проекте у нас есть сотни виджетов. почему я должен копаться в исходном коде, чтобы найти их все, а затем читать исходный код, чтобы расшифровать, что они делают? простой список с изображениями виджетов был бы потрясающим. но, к сожалению, у нас нет документации, и теперь это кошмар. документация потрясающая.
2. Хорошо, тогда напишите какой-нибудь код, генерирующий этот список всех виджетов. Это звучит достаточно минимально.
3. @Stephans: Звучит, да 🙂 Но это пользовательский движок, написанный более 6 лет назад. Нет ничего простого.