在Railsconf 2012上, Rich Hickey 做了题为Simple Made Easy的主题演讲。
在其中,他对测试驱动开发做了以下讽刺性引用:
“我认为我们在这个世界上,我想称之为护栏编程......'我可以做出改变,因为我有测试!' 谁这样做?谁开着他们的车,撞在护栏上?护栏能帮助你到达你想去的地方吗?”</p>
Rich 更重要的一点是,除非您对想要构建的东西有一个强大的心理模型,否则 TDD 没有价值。你需要知道你正在做的方向。
鉴于 Rich 编写了一种名为Clojure的动态(即除了 core.typed 之外没有类型)语言- 他似乎提倡一种“强大的心理模型”,而不是像类型和测试这样的辅助工具。
把所有这些东西放在一起。Types的使用是在护栏驱动开发的范围内,还是仅限于TDD?