2014年5月9日金曜日

レガシーコード改善ガイド

レガシーコード改善ガイドを読みました.

http://www.amazon.co.jp/dp/4798116831/ref=pd_sxp_f_pt


著者の主張にほぼ全面的に賛成なのですが,一つだけ意見を.

この本には,

単体テストがないコードはすべて壊れていると疑え.

という主張があります.

これは崇高な理念でありますが,少々行き過ぎだと思います.

たとえばスパゲッティーコードを作るプログラマーが単体テストを書いても,
あまり良い結果にはなりそうにありません(というかテストコードもスパゲッティ化してしまう).

たとえばコンパイラ付属の標準ライブラリ(STLとか)は単体テストが通常ついていませんが,
どの関数も単体として非常に簡単にテストすることができます.

これを踏まえて,

テスタブルでない(単体テスト不可能な)コードは壊れていると疑え.

の方が現実的だと思います.

つまり依存関係を少なくする,事前のおまじないを最小限にする.といった基本的なコーディングをすることですね.

ともかく,とても良い本なのでお勧めです.

0 件のコメント:

コメントを投稿