トップページ > プログラム > 2014年08月23日 > VzEIcDK4

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

16 位/230 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000001000000220000005



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

書き込みレス一覧

テスト駆動開発はなぜ流行らなかったのか?2
705 :デフォルトの名無しさん[sage]:2014/08/23(土) 09:54:00.81 ID:VzEIcDK4
>>702
> 画面デザイン
それは仕様だろう。
Perlについての質問箱 63箱目
503 :デフォルトの名無しさん[]:2014/08/23(土) 16:22:19.18 ID:VzEIcDK4
>>501
たとえばMIME::Toolsなんかは、テンポラリファイルを作る仕組みがある。
またパースするときに標準入力などのストリームを利用することが出来る。

http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm#Temporary_File_Creation

使用メモリを少なくすくための設定があり、説明もしてあるのでコードを詳しく読んだのではないが
大きい添付ファイルがあった場合でも少ないメモリで動作するように一行毎に読み取って
添付ファイル部分であればテンポラリファイルに書き出していく動作をしているはず。
http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm#Minimizing_memory

モジュール使いたくないなら、無駄な作業だけどこれと同じものを再発明すれば?
テスト駆動開発はなぜ流行らなかったのか?2
714 :デフォルトの名無しさん[sage]:2014/08/23(土) 16:59:20.08 ID:VzEIcDK4
>>709
見逃しても何の問題もないだろ。
そもそも、何かの計算をして値を返す関数は
return 14; だけのコードでもテストは通るんだよ。
で、これで問題ない。

そもそも「書いたテスト」というのは完璧であることは絶対に証明できない。
つまり、テストにミスが有ることは当たり前の話。
人間がやったって、テストでミスをしてバグを見逃すことがある。

テスト駆動開発というのは、最初14を返すコードを書いておき。
そしてその後14を返す正しいコードに書きなおしていく。
これがテスト駆動開発。違いは実行結果が14になっているかな?という
確認をprintでもして目視でやるか、コンピュータでやるかの違い。

で、これは「開発」作業であり、テストではない。
テストは開発中(または開発後)につけたしていく。
これも手動でやってもいいし、コードで書いてもいい。

開発もテストも、手動でやる方法もあるし、コードでやる方法もある。
コードで書くと何度も実行できるというメリットがある。
その反面コードを書くための時間が必要になる。
どちらがいいかは場合によって変わる。

テストコードを書くのは時間がかかるので、全てにテストコードを書くべきだとは思わない。
重要な部分とか、修正があった時に影響範囲が大きくなりそうな所はテストを書くが、
コードが十分シンプルで仮にバグが入るとしたら記述漏れ程度。動かしてみて動かなけれ
ば修正して数分で作業完了。みたいな所はテストは不要。

テスト駆動開発でも、最初に書いたreturn 14と、最終的なコードに大きく差があるのであれば
テスト駆動開発した方がいいが、return (3*4)*2みたいに処理がシンプルなものはテスト駆動開発の意味が無い。
俺が書くコードは、大部分がシンプルなコードばかりなので、テストコードを書く時間がペイしない。
Perlについての質問箱 63箱目
505 :デフォルトの名無しさん[]:2014/08/23(土) 17:12:17.48 ID:VzEIcDK4
オワコンやっときたw

俺のほうがレス早かったけどなw
VBプログラマ質問スレ(Ver.6.0 まで) part64
318 :デフォルトの名無しさん[sage]:2014/08/23(土) 17:38:07.76 ID:VzEIcDK4
切り捨ては互換性がある後継技術が
リリースされてから行う。


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