コードや設計に対して疎結合とか抽象化とかすごくよく聞く
確かにやっておいたほうが良さそうではある
でもそうしたはずのコードや設計が良いと思わないことがあった
それら自体が良いことではなく、他の達成したい性質に対して用いる手段であるはず
テスタビリティが高い、再利用性が高いとかが達成したい性質で、それら自体は良いことと言えると思う
でもそれもただ盲目的に追いかけるべきものではない
そのモジュールを抜き出してテストしたいならいいし、再利用するならいいけどそうじゃないなら要らない
同様に密結合でも具象のままでもいいケースはあるはず
No abstraction is better than wrong abstraction
abstraction(抽象化)に限らず言えそう
間違った抽象化、間違った疎結合というものがある