4

Railsconf 2012で、Rich Hickey はSimple Made Easyというタイトルの基調講演を行いました。

その中で、彼はテスト駆動開発について次の風刺的な引用をしました。

「私たちはこの世界にいると思います。私はガードレール プログラミングと呼びたいと思います…「私にはテストがあるので変化を起こすことができます!」誰がそれをしますか?ガードレールにぶつかりながら車を運転するのは誰ですか? ガードレールは行きたい場所に行くのに役立ちますか?」</p>

Rich のより大きなポイントは、構築したいものについて強力なメンタル モデルを持っていない限り、TDD は価値がないということでした。あなたは自分が行っている方向を知る必要がありました。

Rich がClojureと呼ばれる動的な (つまり、core.typed 以外の型のない) 言語を作成したことを考えると、彼は型やテストなどの支援よりも「強力なメンタル モデル」を提唱しているようです。

これらすべてをまとめる。型の使用はガードレール駆動型開発の範囲内ですか、それともその範囲は TDD に限定されますか?

4

1 に答える 1

3

私の意見では、要点は、最初に問題について明確に考えることであり、問​​題が解決したらすぐにテストを書き始める TDD の方法に進むのではなく、脳に落ち着くまで時間を与え、一定期間にわたって解決策を進化させることでした。プロジェクトを取得してから、これらのテストに合格するようにコードを記述します。これは、ガードレール主導の開発のように聞こえます。

に関する限り、それらはどこにでもあり、文字通り意味していました。型なしでは考えられません。型は人間が周囲の世界を理解するためのメンタル モデルです。プログラミングでは、型は静的に型付けされた言語では明示的であり、動的言語では暗黙的です。型がなければ、プログラムすることさえできません - パラメータの型を知らずに関数本体を書いてみてください。

于 2013-07-10T16:23:49.960 に答える