QA@IT

RailsのScaffoldは単なるマーケティングツールで実際の開発では使わない?

2979 PV

Ruby on Railsの生産性の高さを誇示するデモとして、コード生成のScaffoldを使ったものがありますよね。マイグレーション、モデル、コントローラ、ビュー、テストと、CRUDアプリに必要なものが全部生成されて、楽ちんです。

とはいえ、世の中の現実のアプリは、CRUDを作って終わりではないし、実際にはScaffoldなんか使わないという意見も良く耳にします。どちらかと言うと、現場の開発者にはそう言っている人が少なくない印象も持っています。しかし一方、国内でも有数のRailsハッカーが、必ず最初はScaffoldから始めてまずコミットし、そこから変えていくという風に言っているのを聞いたこともあります。私はそれを真似ています。routes.rbも、onlyとかexceptでresourceを指定していけばいいし、不要なアクションは消すなりすればいいわけで、と。

「Scaffoldはマーケティングツールだ」というのはレトリックだとしても、それに近い意見があるのなら、なぜそうなのかというのを聞いてみたいです。つまり、Scaffoldは過剰なコード生成で使うべきではない理由というのはありますか? という質問です。

回答

自分の場合は、開発の初期段階で、その開発しようとしているアプリケーションの中核になるようなリソース、要素を作成する時などはscaffoldを使用しています。
(イベント管理システムのeventやタスク管理システムのtaskなど。)

まず、中核となるリソースをscaffoldで作成し、その後、必要なmodelやcontrollerがあれば個別に追加し、管理画面のようなCRUD全てが必要なページがあれば、そこはscaffoldを使ったり、など、私の場合は開発の場面に合わせて臨機応変に使っていく、という形です。

ある程度、開発が進んで来たり、必要なリソースが出揃って来たりしたら、scaffoldは徐々に使わなくなっていく、という感じがします。

編集 履歴 (0)
  • ありがとうございます。最初のうちの骨組みはscaffoldで作ってしまって、後になるほど使わないというご意見、参考になります! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。