2012-01-01 8 views
2

私はそれが重要ではないことを知っていますが、私は人々がモデル/コレクション/ビュー/ルータ機能の名前を付ける方法について興味があります。backbone.jsの命名規則とは何ですか?

+0

命名規則バックボーンのための素晴らしいリソースは、ここで見つけることができます:http://ricostacruz.com/backbone-patterns/#conventions – Andrew

答えて

3

これらはすべて、モデル、コレクションなどが表すものと構造的にどのように使用されるかによって異なります。

私は通常私のモデルの一般的な名前を付けた後、そのコンストラクタタイプ

例と他のすべてのサフィックス:

// model 
var Animal = Backbone.Model.extend({});.... 
// collection 
var AnimalCollection = Backbone.Collection...... 
// view 
AnimalView = Backbone.View.extend(){}).... 

今、あなたは、単にそれそれのモデルや他渡すことにより、新しい動物のビューを作成することができますコードを読んでいる人は、そのモデルが表すものを簡単に理解することができます。もちろん

var view = new AnimalView({ model: new Animal({name: 'Tiger'}); 

、あなたのモデルは、同様の単語モデルで常にサフィックスことができますが、私はモデルのプロパティを持つ単一のフラットな目的ではないビューのいくつかの並べ替えを表したりするので、それはそれなしで十分に話すと思いますオブジェクトのコレクション。

+1

私はそれが読み取り可能同意するが、私はすべてのコレクションを入力して好きではありませんそのmutch :)なぜ、Animal、Animals、およびAnimalViewを使用しないのですか?私はViewを主に保持するため、モデル/コレクションは1つ以上のビュー、AnimalListView AnimalDetailViewなどを持つことができますが、コレクションは1つの大きなプールになる傾向があります。通常は親モデルに含まれていて、たとえばAnimalsやmyPetsなどの適切な名前が付けられます。 – Sander

+0

モデルに余分な** s **を追加したり、コレクションに残したりするのはとても簡単だから、複数バージョンを使うのは好きではありません。これは不愉快なバグにつながります。あなたは常にCol to Colを省略することもできます。 :P – Trevor

3
  • 人物/ドア/ドアリストのように、何らかの形でコレクション名が複数あります。
  • クラスは大文字で始まり、インスタンスはラクダ/アンダースコアを使用します。
  • 名前にモデル、コレクションなどの単語を含めないでください。
  • c、m、r、vと呼ばれるハッシュにすべてを入れてください。これは繰り返しの利点があります。
var c.People = Backbone.Collection.extend(); 
var c.people = new c.People(); 

var m.Person = Backbone.Model.extend(); 
var m.person = new m.Person(); 
関連する問題