Railsconf 2012で、Rich Hickey はSimple Made Easyというタイトルの基調講演を行いました。
その中で、彼はテスト駆動開発について次の風刺的な引用をしました。
「私たちはこの世界にいると思います。私はガードレール プログラミングと呼びたいと思います…「私にはテストがあるので変化を起こすことができます!」誰がそれをしますか?ガードレールにぶつかりながら車を運転するのは誰ですか? ガードレールは行きたい場所に行くのに役立ちますか?」</p>
Rich のより大きなポイントは、構築したいものについて強力なメンタル モデルを持っていない限り、TDD は価値がないということでした。あなたは自分が行っている方向を知る必要がありました。
Rich がClojureと呼ばれる動的な (つまり、core.typed 以外の型のない) 言語を作成したことを考えると、彼は型やテストなどの支援よりも「強力なメンタル モデル」を提唱しているようです。
これらすべてをまとめる。型の使用はガードレール駆動型開発の範囲内ですか、それともその範囲は TDD に限定されますか?