再利用にこだわるほどコードは使いにくくなる
1. 原則
- コードは再利用にこだわるほど使いにくいものになる
- したがって、コードの再利用性に過剰にこだわってはいけない
2. 根拠
構造が複雑になる
- 拡張用フックポイントやパラメータの増加により、モジュールの複雑性が増加する
- 複雑なモジュールは理解が困難になり、適切な利用にも知識やノウハウが必要になるなど簡便性が低下する
YAGNI原則
- 再利用性は将来のニーズに応えるということでもある
- しかし、そのニーズ自体が存在しないことも多く、存在しないニーズに向けて作られた機能はデッドコードとなってしまう
- この現象はYAGNI原則として知られる
3. 指針
本当に再利用することになるか再考する
- ライブラリとしてプロダクトから独立して利用するなどの目論見が無い限り、再利用性を考慮する必要はない
- 技術力を誇示したいなど、エンジニアのエゴで再利用性を重視した複雑なモジュールを作成するようなことはするべきではない
ニーズが発生してから取り掛かっても遅くはない
- 再利用を前提としてモジュールの設計/作成は、複数のプロダクトで共通で使いたい機能/コードが見えてきてから考えてもよい
- 開発が進むにつれ、開発当初は見えていなかったものが見えてくるのは当然のことであり、その時まで判断を遅らせることは悪いことではない
4. 注意事項
関連
参考資料