「似たような処理だから」とコピペするのではなく、
同じところはどこなのか、違うとこはどこなのかよく見て、
それから、データとロジックを分けて見る見方ができれば、
コードの共通化と、差分の持たせる方法が見つかるはずだ。
そしてこれはオブジェクト指向の初歩的な考え方だ。
バグを出さない方法は「コードを書かないこと」だと
トンチ問答のような話もあるけれど、まさにその通りだと思う。
それから余談。
こういうのを DRY(Don't Repeat Yourself)と言うのだと
ずっと思っていたのだけど、ただの勘違いだったと知った。
コードの重複に関しては、Once And Only Once と言うんだね。
twop.agile.esm.co.jp