しばらく個人で開発してるが、将来的に誰かと共同開発したり、未来の自分と意識合わせするため、今のところのポリシーを書き残しておく。(当然ながら、後で書き足す)
あまり有名なフレームワークを使ったことないんだが、一般的な認識とズレてるかなぁ。
Model
- DBにアクセスしていいのはModelだけ。
- 他のデータとの整合性など最終確認はModelで。
- テストファーストで書く
- ここでprintとか絶対NG
- ここでWebサーバ由来の情報(SESSIONなど)があったら、何か間違ってる
View
- ここでDBにアクセスしてたら何か間違ってる
- ここでIF文とかあったら、Controller側ですべきか検討する
Controller
- ここでDBにアクセスしてたら何か間違ってる
- ここでバリデーションとかしてたら、何か間違ってる