Использование noweb в большом проекте Java - PullRequest
5 голосов
/ 30 сентября 2008

Кто-нибудь использовал инструмент грамотного программирования noweb в большом проекте Java, где несколько файлов исходного кода должны быть сгенерированы в разных подкаталогах? Как тебе это удалось с noweb? Существуют ли какие-либо ресурсы и / или лучшие практики?

Ответы [ 2 ]

5 голосов
/ 22 апреля 2009

Noweb будет выгружать файлы относительно текущего рабочего каталога или по указанному вами абсолютному пути. Просто не используйте * в конце вашего имени файла (чтобы не вставлять директивы препроцессора #). Я бы порекомендовал использовать% def с @, чтобы показать, где вы определяете и используете имена.

<</path/to/file.java>>=
  reallyImportantVariable += 1;
@ %def reallyImportantVariable

noweb позволяет вам переупорядочивать и (настоящий выигрыш) повторно использовать фрагменты кода, которые, я не думаю, будет понятен javac.

Я бы согласился, что, поскольку большинство людей ожидает, что вы будете использовать Javadoc, вы, вероятно, плывете против потока, чтобы использовать noweb.

3 голосов
/ 11 января 2009

Грамотное программирование работает лучше всего, если сгенерированный промежуточный код может указывать на исходный исходный файл, чтобы разрешить отладку и анализ ошибок компилятора. Обычно это означает поддержку препроцессора, которую Java не поддерживает.

Кроме того, для Java действительно нет необходимости в грамотном программировании, поскольку первоначальная потребность в строгом последовательном порядке - что побудило Кнута написать инструмент для соединения фрагментов в соответствующей последовательности - отсутствует. Последнее преимущество грамотного программирования, а именно возможность писать прозу о коде, также доступно в виде Javadoc, которое позволяет вам помещать все как комментарии.

Для меня нет смысла в грамотном программировании на Java, а есть только проблемы (просто представьте себе, что вы получаете поддержку IDE).

Есть какая-то конкретная причина, по которой вы рассматриваете это?

...