gpt4 book ai didi

clojure - 护栏驱动开发的范围 - 测试和类型?

转载 作者:行者123 更新时间:2023-12-02 18:10:26 24 4
gpt4 key购买 nike

Railsconf 2012 Rich Hickey 做了题为 Simple Made Easy 的主题演讲。

他在其中做了following satirical quote关于测试驱动开发:

“我认为我们生活在这个世界上,我想称之为护栏编程……‘我可以做出改变,因为我有测试!’谁这么做的?谁开着车到处乱撞,撞上护栏?护栏能帮助你到达你想去的地方吗?”

Rich 更重要的观点是,除非您对想要构建的内容有强大的心理模型,否则 TDD 没有值(value)。你需要知道你正在做的方向。

鉴于 Rich 编写了一种名为 Clojure 的动态(即除了 core.typed 之外没有类型)语言。 - 他似乎提倡“强大的心智模型”而不是类型和测试等辅助工具。

把所有这些东西放在一起。类型的使用属于护栏驱动开发的范围,还是仅限于 TDD?

最佳答案

在我看来,重点在于首先清楚地思考你的问题,给它一些时间让它在你的大脑中安定下来,让解决方案在一段时间内不断发展,而不是采用 TDD 方式,即开始编写测试一旦您获得项目,然后编写代码以使这些测试通过 - 这听起来像是护栏驱动的开发。

类型而言,它们无处不在,我是字面意思。没有类型就无法思考,它们是人类理解周围世界的心智模型。在编程中,类型在静态类型语言中是显式的,而在动态语言中是隐式的。如果没有类型,您甚至无法编程 - 尝试在不知道参数类型的情况下编写函数体。

关于clojure - 护栏驱动开发的范围 - 测试和类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17568188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com