トップページ > プログラム > 2014年08月29日 > 9OWc8ATu

書き込み順位&時間帯一覧

16 位/248 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000020000000000024



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Git 10
VBプログラマ質問スレ(Ver.6.0 まで) part64
テスト駆動開発はなぜ流行らなかったのか?2

書き込みレス一覧

Git 10
501 :デフォルトの名無しさん[sage]:2014/08/29(金) 11:16:27.08 ID:9OWc8ATu
>>498
やり方が間違ってるよ。そういう場合はリファクタリングをしよう。

まずテストコードがある。という想定。なくてもやりかたは同じだけど。

AというファイルをB、Cに分ける場合、テストコードがあるわけだから
いきなりファイルを分割できない。

まず空のファイルBを作る。AはBに移動したいコードを
Bに移動して、AからBを呼び出すようにする。
こうすれば、テストコードはそのままにBにコードが移る。
同様にCも同じことをやる。そしたらA、B、Cのファイルが出来る。

次にAのテストコードはそのままに、B、Cのテストコードを追加する。
そののち、Aを使ってるコードを、B、Cを直接使うようにする。

最後に不要になったAのコードとテストを削除する。
VBプログラマ質問スレ(Ver.6.0 まで) part64
379 :デフォルトの名無しさん[sage]:2014/08/29(金) 11:18:15.51 ID:9OWc8ATu
言語の違いは同じことを実現するコードが
冗長になるかならないかで設計自体は同じだからね。
テスト駆動開発はなぜ流行らなかったのか?2
755 :デフォルトの名無しさん[sage]:2014/08/29(金) 23:32:48.64 ID:9OWc8ATu
>>753
言ってることが対称になってないぞw

・機能の追加は簡単
・機能を変える改修(変更)
・機能の削除

違いを比べるならまずこれだよな?

追加は簡単・変更と削除は難しい。
ここまでOKだろ?

で、変更は機能の追加と削除が同時に行われるため。
変更は一般的に難しいが、リファクタリングに限って言えば
機能の追加も削除も行わない(単なるコードの場所移動)のため簡単。

これであってるよね?
テスト駆動開発はなぜ流行らなかったのか?2
756 :デフォルトの名無しさん[sage]:2014/08/29(金) 23:35:57.34 ID:9OWc8ATu
ちなみにTDDでやってるのはリファクタリングではない。

なぜなら、テストコードを失敗される→コードを書く
という行為は、テストに通らないコードから
テストに通るコードに機能が変わっているから。

たとえば関数に新しいオプションを追加する
機能拡張をTDDで行ったと考えてみよう。

機能拡張はリファクタリングか?
一発で違うってわかるよな?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。