我已经使用 Clojure 一段时间了,想要创建一些比玩具更大、更复杂的项目。过去几年我一直在使用 Java,并且已经习惯了 IDE 为我所做的事情——编译大量类,将它们打包在 jar 中,创建批处理文件供用户启动它们。
当我查看 Clojure 中的开发示例时,它们似乎沿着将文件加载到 REPL 的路线,查看它们如何工作,编辑文件,重新加载,重复。任何地方都不会生成类或 jar。例如,在 Stuart Halloway 精彩的“Programming Clojure”中,我找不到“:gen-class”的任何示例。我使用过的 Clojure IDE(ClojureBox 和 enclojure NetBeans 插件)似乎促进了相同的工作流程。
这是故意的吗?这些工具是否太不成熟,或者我只是不“明白”?
如果可能的话,我想听听一些工作流程示例,他们创建了一些重要的程序供普通用户(而不是其他开发人员)使用。
感谢您分享您的意见。
我认为这里确实有两个问题:
A)如何部署(以及构建和管理依赖项)。我只能说的是看看具有类似目标/领域的其他项目并复制它们。
B)工作流程:
我的工作流程是这样的:
打开一个文件并编写一些高级的一厢情愿的声明
开始编写一些函数来支持它
2.5 在创建函数定义时将其复制到 REPL
- 打开另一个文件并编写一些基本测试来检查功能是否有效
3.5 将这些复制到REPL
在两个缓冲区之间进行迭代,将测试构建为示例,并将程序构建为最终目标。这些最终会变成类似的活动,我知道我已经完成了。
将辅助文件包装在 deftest 中
现在,当我一个月后回来时,我可以运行我的测试并感到高兴!保存 REPL 缓冲区可以毫不费力地提供一些价值。这正是目前对我有用的方法,我很高兴能够接受更好的方法的教育。
至于 IDE 与 REPL 的选择 - 大多数 IDE 都有带有 REPL 的插件,所以我不确定这是一个还是另一个选择 - 实际上它只是关于你在哪个文本编辑器中工作效率高,以及你想要如何管理你的项目结构。没有任何“这样做”结构预制的 AFAIK,因此在这一点上更容易查看特定项目(例如 Clojure 本身、penumbra 或 compojure 或主站点上列出的任何库)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)