Для описания API проекта или библиотеки, а иногда — просто придания ценности проекту и облегчения жизни следующим разработчикам используются комментарии кода. Тут 2 приема «//» комментарий кода «///» комментарий для документации с дополнительными тегами и т.д. Комментарии в тремя косыми конвертируются студией в XML файл документации (если этого не происходит, нужно поставить соответствующий флаг в настройках проекта. Но использовать XML в качестве помощи для разработчика не очень удобно, по этому есть специальный софт — преобразующий этот файл в надлежащий вид.
MSDN Reference и JavaDoc это пример работы подобных генераторов. Таких генераторов огромное количество, но к сожалению некоторые или просто заброшены, или просто не подходят для нормального отображения нужного языка (это может быть даже с теми генераторами, которые официально заявляют о поддержке — пример Doxygen, хотя, кому как нравится). В свое время, я перепробовал множество генераторов, но чтобы сэкономить ваше время, расскажу о том, который использую и сейчас.
Теги документации
Полную и актуальную информацию о тегах проще всего получить с сайта MSDN. Тут больше сказать нечего.
XSLT трансформация
Подход заключается в трансформации XML файла документации с помощью XSLT схем. Это долгий и неуклюжий способ, однако предоставляет полный контроль над процессом конвертации. Так как одна трансформация работает с одним файлом и генерирует один файл, потребуется несколько XSLT файлов для разных нужд. Этот вариант подходит разве что для нестандартных решений.
NDoc3
NDoc3 отличный и просто инструмент генерации документации. К сожалению разработка и поддержка закончилась аж в 2005-ом году, а значит покрывает только .NET 2.0. Программа использует проекты, список сборок и настройки которой сохраняются в файле с расширением «.ndoc3». Остается только открыть файл в GUI и нажать на кнопку — «Build».
Sandcastle
Sandcastle был создан Microsoft и согласно описанию используется для генерации кода на MSDN. Сам по себе проект мощный и большой и не работающий, так сказать «из коробки». Хотя последнее время ситуация изменилась, для нормальной работы потребует некоторые дополнения и настройки. И так, загружаем:
- Sandcastle — основная библиотека для конвертирования.
- Sandcastle Help File Builder — поддержка создания проектов и графический интерфейс.
Устанавливаем, и для запуска используем следующий BAT файл:
set DXROOT="c:\Program Files (x86)\Sandcastle" set SHFBROOT="c:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder" set LANGUAGE="%SHFBROOT%\SandcastleBuilderGUI.exe"
Интерфейс более или менее понятен и похож на NDoc. Так как генерация, это сравнительно долгий процесс, для настройки лучше создать тестовый проект а потом скормить ему нужные файлы.
Другие генераторы C# документации
- LiveDocumenter — мне не подходит, так как использует внутренний формат, открываемый их-же прогрпммой.
- ImmDoc.NET — сравнительно новый генератор, подающий большие надежды. Пока работает только с .NET 2.0, насколько он хорош — покажет время.
- Сводная таблица генераторов — известная контрибуторам Wikipedia.
Похожие статьи
- 25 сентября 2011 -- Трансформации. Web.config и App.config для «C# продолжающих». (2)
- 20 апреля 2010 -- Интеграция NUnit в Visual Studio (3)
- 14 сентября 2009 -- Отладка сторонних библиотек в Visual Studio (0)
- 15 сентября 2011 -- Еще раз о работе со службами (Windows Service) на C# (0)
- 15 сентября 2008 -- .NET исходный код. (1)