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