大家好:在 java 中,我们都有过使用我们的 ide 来“遍历”复杂数据类型深处的经验:
dog.getCollar().getCollarTag().getName();
但是,在 Clojure 中,由于缺少静态类型,这变得非常重要。我们如何“防御”或 Clojure 对抗可能来自嵌套数据结构的复杂元素?
1) 对 clojure 数据结构深度的建议“限制”?
和
2) 处理深度嵌套的数据结构的常用习语,它可以防止错误,例如将列表误认为映射,或未能正确地小写/大写变量名?
如果我在这里听起来有点偏离范式,请原谅我......通过在 REPL 中不断测试,可能会有效地遏制此类错误。但是,我想知道是否有任何其他方法可以确保,在编译时,该代码尽可能正确(即单元测试、IDE / emacs 插件等...)