Кто-нибудь использовал грамотный инструмент программирования noweb в большом проекте Java, где несколько исходных файлы кода должны создаваться в разных подкаталогах? Как вы справились с этим с noeb? Существуют ли какие-либо ресурсы и/или лучшие практики?
Использование noweb в большом проекте Java
Ответы (2)
Noweb выгрузит файлы относительно текущего рабочего каталога или по указанному вами абсолютному пути. Просто не используйте * в конце имени вашего файла (чтобы не вставлять директивы препроцессора #). Я бы рекомендовал использовать %def с @, чтобы показать, где вы определяете и используете имена.
<</path/to/file.java>>=
reallyImportantVariable += 1;
@ %def reallyImportantVariable
noweb позволяет вам переупорядочивать и (настоящая победа) повторно использовать фрагменты кода, которые я не думаю, что javac поймет.
Я согласен с тем, что, поскольку большинство людей ожидают, что вы будете использовать javadoc, вы, вероятно, плывете против течения, чтобы использовать noeb.
Грамотное программирование работает лучше всего, если сгенерированный промежуточный код может указывать на исходный исходный файл, что позволяет выполнять отладку и анализировать ошибки компилятора. Обычно это означает поддержку препроцессора, которую не поддерживает Java.
Кроме того, грамотное программирование на самом деле не нужно для Java, поскольку исходная потребность в строгом последовательном порядке — что и побудило Кнута написать инструмент для объединения фрагментов в соответствующей последовательности — отсутствует. Последнее преимущество грамотного программирования, а именно возможность писать прозу о коде, также доступно в виде Javadoc, что позволяет вам помещать все в виде комментариев.
Для меня в грамотном программировании на Java нет никакой пользы, а одни неприятности (только представьте себе получение поддержки IDE).
Любая конкретная причина, по которой вы это рассматриваете?