前の職場(株式会社HIKKY)のアドベントカレンダーでクリーンアーキテクチャについて書いたんですがその後2年ほど経ってこのあたりに対して思うこと書いてみます。
https://qiita.com/yikegaya/items/1646410b77485c43589f
- 一般的なアークテクチャに合わせて4層構造にするのは無理がある。小規模なWebアプリであれば機能のロジックはHTTPリクエストを受けるフォルダとドメインロジックを管理するフォルダがあればほぼ十分
- とりあえずFat Controllerになることを気をつける。かつドメインを整理するフォルダのそれぞれのファイルやクラスの意図が明確になっていればそれでほぼOK
- クリーンアーキテクチャ、レイヤードアーキテクチャなどを学ぶのは考え方を学ぶという点では役に立つが無理に使うと複雑すぎて逆に新規参入した開発者がキャッチアップに時間がかかったりレビューで必要以上に議論が白熱したりして生産性が下がる
今担当している新規開発のプロジェクトはフロントエンド、バックエンド共にTypeScriptの小規模アプリですがapiフォルダにHTTPリクエストを受けるエンドポイントの定義を実装してlibフォルダにドメインロジックその他を全て書く。というざっくりした構成でスタートしてます。
これくらいラフな構成でも数年は破綻しないんじゃないかくらいの感覚です。