DRY / WET 論争に対する雑感
「DRY か WET か」って質問に対する答えは
で、あなたはいま、どんなコードを分割しようとしてますか?
分割してみた結果、『複雑さ』は増えましたか?減りましたか?
『暗黙的さによるわかりにくさ』の増減はどうですか?
なんだよな…『複雑さ』と『暗黙的さ』をキチンと見極めるに尽きる
---
同一ファイル内で、もしくは package-private を使って同じディレクトリ内で分割すれば、汎用性が無いからモジュールの設計・命名を完璧にする必要がないし、
utils としてプロジェクト全体で使用可能にすると、汎用的なので、高い完成度が求められるので、
---
ムリに汎用化せず、ローカルな分割でええんです。
ただ、汎用化するならそれなりにちゃんとして、余計な暗黙的変換やフォールバック、引数の渡し方のバリエーションとかを増やさず「堅い」「小さい」ものにしてあげる必要がある。