[docs] Re: Literate programming for Makefiles
Vitaly Ostanin
vyt на vzljot.ru
Вт Ноя 4 17:56:35 MSK 2003
On Tue, 4 Nov 2003 17:14:34 +0300
"Oleg A. Paraschenko" <olpa на xmlhack.ru> wrote:
<skipped/>
> > > В данном случае, основной процесс -- это написание
> > > документации. Написание make-файлов -- поддерживающий
> > > процесс и должен быть сведён к минимуму. Описательное
> > > программирование (ОП) будет поддерживающим процессом
> > > поддерживающего процесса. А учитывая, что ОП тоже надо
> > > довести до логического завершения, то намечается
> > > поддерживающий процесс поддерживающего процесса
> > > поддерживающего процесса. Это не дело.
> >
> > ОП уже работает и серьёзно меняться не будет. Да, неплохо бы
> > доку по litprog, но её не будет - достаточно статей Уолша (и
> > Кнута, кстати) на эту тему и простых примеров разметки.
> >
> > Я специально не выкладывал litprog в cvs до получения готовых
> > результатов.
> >
> > Я понял аргумент про рекурсивный идеализм, но это не тот
> > случай:)
>
> Самый что ни на есть. За то время, которое мы уже потратили
> на Makefiles, можно было написать k док и сделать m
> скриншотов, а также улучшить passivetex.
Время потрачено для приведения Makefiles к схеме сборки по
зависимостям. В том, что в процессе приведения встал вопрос
документирования, нет ничего удивительного.
Кстати, время, потраченное лично мною на создание
Makefiles.litprog съэкономит (кстати, как это слово правильно
пишется?) лично мне время на описание Makefiles в docs-howto.
А кому-то, возможно, сократит время ковыряния в потрохах
Makefiles.
Сравнивать это время с количеством док или скриншотов, по-моему,
неправильно.
> > > --
> > >
> > > Какая документация нужна на make? Думаю, примерно такая:
> > >
> > > * для технического писателя (того, кто будет всё это
> > > использовать);* для разработчика make-файлов,
> > > высокоуровневая-- понять, что к чему;* для разработчика
> > > make-файлов, низкоуровневая -- детали.
> > >
> > > Вытаскивание Makefile, хотя бы и с комментариями, не
> > > является ни одним из этих типов.
> >
> > Не понял.
>
> Что даст наличие в документации красивых make-файлов с
> комментариями тому, кто задаётся вопросом "а что мне с этим
> делать?" или "а как работают make-файлы?". Кажется, ничего.
В документации, кроме красивых make-файлов, будет ответ именно на
вопрос, как работают именно эти конкретные make-файлы, и почему
они работают именно так, а не иначе.
> > > Предположим, что некто хочет добавить что-то в Makefile, но
> > > не хочет разбираться в сущностях (literate programming).
> > > Сможет ли он сделать это? Может быть и да, но я бы забил.
> >
> > Сможет, добавив это что-то в Makefile и прислав в рассылку
> > уведомление об этом. Если два тега нашего litprog -
> > <alt:doc/> и<alt:code/> - требуют осознания ;), я добавлю
> > описание в Makefile.litprog самостоятельно.
> >
> > Кстати, подразумевается, что автор Makefile для DocBook имеет
> > представление о DocBook хотя бы в пределах <para/>.
>
> Вот это как раз хуже всего. Потому что незнакомый с DocBook
> человек будет писать <para/> и не мучиться, а знакомый --
> начнёт задумываться, а есть ли <alt:make-target/>,
> <alt:make-variable/> и т.д, а кому-то это захочется сделать.
Кому захочется - вправе задуматься :) Чем это плохо?
Серьёзно, чем litprog плох? Мешает? Сложен? Ну так пишите
простые Makefile - но их описания должны быть в любом случае, и
они будут вставлены в документацию.
> > > --
> > >
> > > А как настроить подстветку синтаксиса в моём любимом vim?
> >
> > Научить :) Я ничего не знаю про vim - в emacs я переключаю
> > режимы редактирования - makefile-mode/nxml-mode.
>
> Что переключать можно, это понятно. Интересует одновременная
> подсветка. Как когда php в html -- рассвечивается и то, и
> другое.
Я же сказал, что ничего не знаю про vim. Если мне понадобится это
в emacs, я залезу в доку и поищу что-нибудь на предмет смешивания
major modes.
> > Кстати, прототипы я делал так: писал Makefile, отлаживал, и
> > переносил в Makefile.litprog с описанием.
>
> Вот-вот. А надо наоборот. Вначале надо написать для человека,
> что происходит, затем ввести код, скомпилировать, и только
> тогда начать отлаживать код.
Можно и так - дело вкуса. На практике программист не всегда
сразу может сформулировать, что происходит :)
<skipped/>
> > Так вот, javadoc (TeX, LaTeX, html и т.п.) в качестве
> > исходного формата для разметки документации я обсуждать не
> > буду.
>
> А зря. В данном случае наворачивать не стоит.
Я уже писал - если два дополнительных тега litprog и
необходимость предварительной сборки Makefile сильно усложняют
жизнь - пишите просто Makefile и комментарии в plain text, я
добавлю в litprog.
Makefile не так уж часто будут меняться. А вот для понимания
процесса сборки нормальная дока по ним была бы нелишней.
> > А вот 1. был бы удобен, но не представляю его на практике.
> >
> > > ...
> > > # non-doc comment
> > > ## <para>... comment for docs ...</para>
> >
> > А как отсюда выдирать теги?
>
> Примерно так (не проверил):
>
> echo '<makedoc>'
> cat Makefile | grep '^##' | sed '/s/^## /'
> echo '</makedoc>'
Такая схема ещё больше усложнит подсветку синтаксиса одновременно
для DocBook и Makefile.
А как писать параграф, если он содержит 150 символов? В одну
строку? Писать комментарии на русском, придерживаясь
закомментированного объявления XML ? Странно как-то.
<skipped/>
--
Regards, Vyt
mailto: vyt на vzljot.ru
JID: vyt на vzljot.ru
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : /pipermail/docs/attachments/20031104/77440919/attachment.bin
Подробная информация о списке рассылки docs