コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Railsアプリを小さくリリースするためのMVC観点アプローチ

Railsアプリケーションを小さくリリースすることに関して日々思うこと

小さくリリースするとは

アプリケーションは変更差分が大きければ大きくなるほど、変更前後の検証が難しくなるので、そこに対しての確認時間はすごく多くなる。そのため、なるべく小さくしたほうがわかりやすくていいが、頻繁にソースコードを反映するということはなかなか難しい。

Railsで小さくリリースするには

RailsMVC2に基づいたフレームワークではあるため、ModelとViewとControllerで切り分けることができる。

やれる方法としては以下のやり方がアプローチとしては有る。

  1. ModelとDBの定義だけでリリース
  2. ControllerとView
  3. Routeを書いてリリース

こうやってやればリリースすることができる。

また、リリースといかずともこの単位でPRをすることで、問題の切り分けができることができる。

このやりかたの難しさ

このやり方を行うことで難しくなってくるのが

  • 「あ、この情報必要ないからテーブル定義変えよう」
  • 「このViewだとModelのコールバックにもうちょっと足そう」

のようなトライアンドエラーな開発がやりにくくなる。

逆にい言うとこの部分は事前のコード設計をつくることで解決できるところではあるので、案件として固くやるべきか、プロトタイプをガンガン回すものかによって動きはかえて行きたい