- 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で行ったと考えてみよう。 機能拡張はリファクタリングか? 一発で違うってわかるよな?
|