Ruby と Rails を学んでおり、rspec 経由で TDD を使用して最初のアプリケーションを作成する予定です。しかし今のところ、自分の原則とほとんどの Rails コミュニティのやり方との間にいくつかの矛盾があることに気付きました。私が目にする例やチュートリアルのほとんどは、自分のコードを生成するように指示しています。1 つのコマンドで、rspec 仕様と共にオブジェクトの足場を生成することもできます。それは本当に滑らかですが、気分が良くありません。実際には必要のないプロパティやメソッドを大量に生成すると、YAGNI に違反しますよね?
2 に答える
1
削除しなければならないものを大量に生成している場合、間違ったジェネレーターを使用している可能性がありますか?
コントローラーにもアクションを持つモデルを作成するには、足場を使用する必要があることに注意してください。他のジェネレーターがあります。たとえば、モデルにそれぞれのコントローラーがまったくない場合、必要generate model
ないgenerate scaffold
場合、またはテーブルが使用できるモデルをまったく必要としない場合、またはモデルgenerate migration
のないコントローラーの場合、generate controller
およびすぐ。
したがって、適切な場所で scaffold を使用している、つまり、コントローラーを必要とするモデルを作成していると仮定します。足場は実際に生成します
- 入力の属性を使用した移行 (YGNI)
- テストファイル (YGNI)
- crud 操作のコントローラー エントリ (おそらく YAGNI。ファイルに必要のないメソッドを簡単に削除できます。とにかく、ファイル全体を自分で入力するよりも簡単なはずです)
- コントローラーで生成されるアクションのビュー (繰り返しますが、必要のないものは削除してください)
- CSS ファイル (本番環境への移行を計画している場合、これは常に削除または編集する必要があります)
于 2013-04-24T23:47:38.063 に答える