Gigazineさんで良い記事がありました

引用 : https://gigazine.net/news/20211126-overengineering/

◆オーバーエンジニアリングの影響

「さらに、複雑なコードはテストや修正が困難なので、メンテナンスコストもかさむことになります。」

要するにテストコードやドキュメントが無いプログラムは後世で負債化する可能性が高く、小さい修正のはずが大きな事故になってしまったりします。また修正するときのコストが大きくなってしまい、大した修正でなくても何日もかかったりしてしまいます。

記事内のグラフがとても良くできていて自分が今どのあたりにいるのか自身でわかるのではないでしょうか。

2021年現在のAndroidアプリの開発状況で言うとViewModelが正しく扱えて画面回転に対応できており、最低限ViewModelのテストコードとFragmentのテストコードが無いプロジェクトは負債プロジェクトと言っても差し支えないかなと思います。

別の記事でコードの見通しやシンプルにする方法なども書いていきたいと思います。