Короткий ответ: вы можете написать исходную документацию , используя scribble/srcdoc
.
В отличие от других языков, которые вы упомянули, это не "строки документа":
Несмотря на то, что вы можете писать простой текст, у вас есть полные выражения Racket и вы можете использовать scribble/manual
форм и функций.
Это не толькоЕсли учесть «более богатую» документацию, она помещается в собственный подмодуль документации - аналогично тому, как вы можете помещать тесты в подмодули test
.Это означает, что в документацию или тесты не добавляются накладные расходы времени выполнения.
Вам нужен один файл .scrbl
, в котором вы используете scribble/extract
для включения подмодуля (ов) документации.Однако, в любом случае, вам, вероятно, нужен такой файл для документации, не относящейся к функциям (например, введение, установка или проза «Руководство пользователя», а не «справочная» документация стиля).
Конечно, выможете определить свой собственный синтаксис для переноса scribble/srcdoc
.Например, в одном проекте я определил небольшой макрос define/doc
, который расширяется до proc-doc/names
, а также формы (module+ test ___)
.Таким образом, примеры документов также могут использоваться в качестве модульных тестов.
Как Racket обрабатывает документацию в исходном коде, пересекает несколько интересных аспектов Racket:
Подмодули позволяет вам определять такие вещи, как «время тестирования» и «время документа», а также время выполнения.
выражения-выражения отличаютсясинтаксис для s-выражений, особенно хорош при написании текста.
Scribble - это пример использования собственного языка - документации как программы - демонстрирующий способность Racket непросто язык программирования, но язык программирования на языке программирования .