ひとのエントリに反応する

http://ledsun.hatenablog.com/entry/2013/02/10/143911

これの話。ちょっといろんな主張が書かれてるのでそれぞれに対して書く。

TDDいいよって話

TDDいいですよね。わたしも不安な部分とかは必ずテスト書いて赤くして緑にしてリファクタリングするようにしてます。で、TDDについて書きたいのであれば、機能追加の際にちゃんとテスト書いて一度テスト失敗させてるところを見せたたほうがいいと思う。

「パターンは型である」

まったくもってその通りですね。だからこそ適切な場所で「型にはまった解法」をすることで、チームの他のメンバーが混乱せず「あっはいはい、この型ね」となって理解を助ける、ということになるので、型があるなら型の通りにしたほうがいいと思う。ていうかデザインパターンがパターンに名前をつければみんなが型を共有できてうれしいでしょって言ってるのってそういうことだし。トリッキーなことせず型にはまろうっていうのは他人とコードを共有するときにとても大切なことですよね。

もちろん、型を破ることで型を破るデメリット以上のメリットがあるならば型に拘る必要はないと思う。ただ、私が不勉強なせいかもしれないけど上の記事では型を破るだけのメリットが見えなかった。

パターン dis?

「パターンを使うべきでないところで使うのはクソ」っていうことが言いたいのだとしたらそれはその通りだと思う。困ることのほうが多い。いわゆるゴールデンハンマーっていうアンチパターンのやつですね。今回の例がパターン使うまでもないレベルだよねって話ならばその話はもうしたので割愛する。

デザインパターン使うとリファクタリングが大きくなりすぎることが多い

そういうときこそテストで身を守りつつ一歩一歩リファクタリングすればいいと思います。