DRY(don't repeat yourself)するかしないか、その判断基準について
「過剰なDRYが技術的負債を生む」みたいな内容の記事を書きたいが、うまく言語化できない。「過剰な食事制限が健康を損なう」程度の内容に成り下がりそうだけど、そんなんじゃないんだよ…
@methane 実装におけるDRYみたいなものを考えていて、そうすると前者のDRYというのがどこに位置づけられるかはわからないんですが、とにかく暗黙知みたいなものを過剰に増やすDRYは良くないよね、というような話なんです
という@moriyoshitさんのツイート(1, 2)を見かけたので、僕の考え方をコメント。moriyoshitさんの考えたい問題とは、ずれてるかも。
DRY化の功罪とは何か?
僕の理解で言うと、共通するコード片をDRY化することには以下の変化をもたらす。
過剰なDRY化が行われる背景としては、第2点の議論が見落とされがちなんじゃないか、と思ってる。
ではどうすべきか?
上記の3点より、
を基本的な指針にしています。