- 【TDD】テスト駆動開発【TestFirst】
545 :デフォルトの名無しさん[sage]:2015/12/01(火) 11:33:20.20 ID:Fb8Lo38E - >>544
俺に対して何を言いたいのか良くわからないが、俺は >>534 > TDDは、自分が正しく無い設計を選んでしまったときに、少しでも早くその事を知り、フィードバックするための手法だよ。 を否定しただけだよ。
|
- 【TDD】テスト駆動開発【TestFirst】
546 :デフォルトの名無しさん[sage]:2015/12/01(火) 11:36:18.07 ID:Fb8Lo38E - >>544
> テストは自分の想定している事態に対してコードが正常であるって保証をプログラマに与えてくれるだけでしかないって言う部分がなぜか万能薬みたいに語られるのってエヴァンジェリストが悪いとしか思えない。 エヴァンジェリストは、「○○は万能薬ではない」って大抵言ってると思うが。 「○○は万能薬」と思う(勘違いする)のは、良くわかってない奴か、「○○は万能薬だと言われている」 ことにしてdisりたい奴だけじゃないの?
|
- 【TDD】テスト駆動開発【TestFirst】
548 :デフォルトの名無しさん[sage]:2015/12/01(火) 14:07:41.90 ID:Fb8Lo38E - >>547
本当にTDDを理解して実戦しているのか疑わしいレベル。 > そのフィードバックを解釈するのにも経験が必要 意味がわからない。 テストによるフィードバックは失敗あるいは成功しかなく、正しく実装できたはずなのに失敗するのは、 ・テストが間違っている ・正しく実装できたはずというのが思い違い のどちらか、あるいはその両方しかなく、解釈もクソもない。 自分が書いたテストが失敗して、その原因もわからないレベルなら、それはTDDをする資格がない。 というか、そんな奴にプロダクトコード書かせるな。 > ペアプログラミングでない場合はテストがNGになった時点の情報が得られないため、 > 設計者よりも少ない情報から設計を判断するための高い能力が必要になるかもしれない。 これも意味がわからない。 > どんな設計手法も、その手法を使わないよりも良い設計を目指すためにあると思うよ。 そもそも、TDDは設計手法というより開発手法と言うべきで、極言すれば実装手法でしかない。 というか「よい設計」の定義が俺と大幅にずれてる気がする。 俺が思う「よい設計」というのは、例えば ・SOLID原則が守られている(あるいはそれほど重大な違反は無い) ・カプセル化が守られている ・メンテナンス性が良い(リーダビリティが良い) ・パフォーマンスが良い などなど。 そういう意味の「よい設計」ができる奴は、TDDをしなくとも良い設計はできる。
|
- 【TDD】テスト駆動開発【TestFirst】
549 :デフォルトの名無しさん[sage]:2015/12/01(火) 14:10:57.54 ID:Fb8Lo38E - あと、TDDにおける「素早いフィードバック」というのは、
・正しくテストが実装できたであろう実感(red -> green) ・思い通りのコードが実装できたであろう実感(green -> refactoring -> green) だぞ。 設計が正しい、あるいは妥当であるというフィードバックではない。
|