是否有人在大型Java项目中使用noweb文字编程工具,其中必须在不同的子目录中生成多个源代码文件?你是怎么用noweb来管理的?那里有资源和/或最佳实践吗?
答案 0 :(得分:5)
Noweb将转储相对于当前工作目录的文件,或者指定的绝对路径。只是不要在文件名末尾使用*(以避免插入#preprocessor指令)。我建议使用%def with @来显示你定义和使用名称的位置。
<</path/to/file.java>>=
reallyImportantVariable += 1;
@ %def reallyImportantVariable
noweb让你重新排序和(真正的胜利)重用代码片段,我不认为javac会理解。
我同意,因为大多数人都希望你使用javadoc,所以你可能正在游戏中使用noweb。
答案 1 :(得分:3)
Literate Programming会发挥最佳作用。这通常意味着预处理器支持,Java不支持。
另外,Literate Programming对于Java来说实际上并不是必需的,因为最初需要一个严格的顺序 - 这是促使Knuth编写一个工具以适当的顺序将片段组合在一起 - 不存在。文学编程的最终好处,即能够撰写有关代码的散文,也可以作为Javadoc使用,它允许您将所有内容作为注释。
对我来说,Java的文字编程没有任何好处,只有麻烦(想象得到IDE的支持)。
您正在考虑它的任何特殊原因?