作为 clojure 的新手,我很难为不同的代码结构找到一种惯用的风格。
在某些情况下,我的 let 绑定包含函数的大部分代码。这是膨胀,对clojure哲学或惯用语的一些误解吗?
这是一个示例测试用例来演示。它测试到某个存储库的添加/获取往返。长让看起来很奇怪吗?
(deftest garden-repo-add-get
(testing "Test garden repo add/get"
(let [repo (garden/get-garden-repo)
initial-garden-count (count (.list-gardens repo))
new-garden (garden/create-garden "Keukenhof")
new-garden-id (.add-garden repo new-garden)
fetched-garden (.get-garden repo new-garden-id)]
(is (= (+ initial-garden-count 1) (count (.list-gardens repo))))
(is (= (.name new-garden) (.name fetched-garden))))))