同じメソッドばかり使っている時は何か間違っている
いわゆるゴールデンハンマー、金の斧という現象。銀の弾丸が類義語。日本語で平たく言うと「バカの一つ覚え」。
何か問題を解決する時に、同じ手法ばかりとっているときは危険信号。
全ての問題が同じやり方で解決できるわけがなく、それは個々の問題を注視していない、解決に使っている手法を理解していないことの表れ。
どういう理由でそうなったか分からないが、配列を操作する時になぜかいったん全てをディープコピーして、クラスのプロパティに代入し直している人がいた。
ディープコピーが必要な箇所はなく、その人は別のクラスで見かけた配列のディープコピーメソッドを何故か好んで使っているようだった。
「なぜ配列をディープコピーしてプロパティに代入しているの?」「そうしないと配列の中身が書き変わらないからです」「???」
無論そんなことはなく、単に配列に push したりすれば必要な操作はできた。ディープコピーしなかったことによるバグもなかった。
結局そこからいくら聞いて説明しても会話にならなかったので、「お前は分かんなくていいからこうしろ」とぼくが修正したコードをまるごと渡した。
「同じことをやっている」、つまり、同じメソッドを何回も書いているときは、何かがおかしいのだ。同じメソッドでいいなら共通化すればいいし、共通化できないのに同じメソッドを使っている時は、解決したい問題がそれぞれで違うはずなので、同じメソッドを使うことが間違っているのだ。
自分が何をやっているのか、もう一度俯瞰で見直す癖をつけてほしい。