初步想法
将 `.config/clojure/tools/project.edn` 配置文件包含在 Clojure CLI 安装中,运行 seancorfield/deps-new 命令时将会执行 `clojure -Tproject create`。
这似乎提供了解决当前问题的解决方案,同时又没有把大量的代码设计引入 Clojure CLI。
或者该类可以克隆(或下载包含相关别名的用户配置的 zip 存档)以及提供这类工具而不需要专门为 Clojure CLI 设计项目工具
> 我假设 git clone 在范围内,因为有大量的方式可以通过桌面 UI、Web UI 等实现,因此这似乎不会超越原文档作者的预期受众(我已多次使用这种方法来帮助没有代码产品的用户)
理解极简项目的价值
我难以理解极端极简 Clojure 项目的价值,部分原因是我假设请求只是想要的东西,但没有详细定义其使用方式(课程计划的范围是什么)
详细说明 Clojure 的教学方式和所教内容的范围将有助于理解其价值。否则,它似乎非常具体于原作者的需求,而不是对社区有用的工具。
我的担忧如下
1. 依赖隐式的配置知识
拥有一个仅包含 `{}` 的项目配置文件,肯定会引发如何运作的问题,进而引出关于 Clojure CLI 如何引入 Clojure 依赖和添加 `src` 到类路径的讨论
2. 没有示例支持学习
包含一个极简的 `:paths` 和 `:deps` 配置可以通过简单的方式展示添加更多配置所需的语法(这可能超出了范围)
同样可以辩论包含别名的必要性,比如测试运行器
3. 为特定用途创建内容
在考虑更广泛社区需求的情况下,我认为在没有考虑更广泛社区需求的情况下(至少不是作为一个发布特性)引入项目创建工具到 Clojure CLI 中是不明智的。
4. 重复发明
clj-new 和 deps-new 已经提供创建项目的方法,并且一个极简的 scratch 模板似乎覆盖了原作者的需求(以我有限的了解)
https://github.com/seancorfield/deps-new#create-a-minimal-scratch-project
这可以成为课程安装说明的一部分(包括 Java 和 Clojure CLI),或者复制到学生电脑上的用户配置。
还有更多问题,但这完全取决于原作者请求的范围。