それなりの規模のRailsプロジェクトではよくFat Model問題とかFat Controller問題が課題になってくる。 で、Fat Model問題については、Concernsなどに振る舞いを切り出したり、そもそも「それって1つのテーブルに収める必要ある?」というものを分割するなどの対策がある。 後者については、http://kenn.hatenablog.com/entry/2014/03/05/081525 この記事がわかりやすいサンプルとしてUserモデルからProfileモデルをテーブルごと切り出す例を挙げている。 今僕が関わっているプロジェクトでも上記例のように姓名などはProfileに切り出してあり、その他も住所関連の情報をAddressに、「退会理由」みたいなめったにつかわない情報をExtraInfoに、といったように意味合いと使用頻度を考慮していくつか分割する設計になっ