最近、私は が間違っていることについて何人かの同僚と議論しています。 私たちは、大規模なアプリケーションでバックボーンを使用していて、ビューを作成するための私の方法は 「標準」のバックボーンの方法です:Backbone.View.extendに関数を渡します。
var MyView = Backbone.View.extend({
className: 'foo',
initialize: function() {
_.bindAll(this, 'render' /* ... more stuff */);
},
render: function() {
/* ... render, usually
using _.template and passing
in this.model.toJSON()... */
return this;
}
});
しかし、チームの誰かが最近、このようにそれを行うことを決めた。
var MyView = Backbone.View.extend((function() {
/* 'private stuff' */
function bindMethods(view) {
_.bindAll(view, /* ... more stuff */);
};
function render(view) {
/* ... render, usually
using _.template and passing
in view.model.toJSON()... */
};
return {
className: 'foo',
initialize: function() {
bindMethods(this);
render(this);
}
};
}());
これは擬似コードのアイデアです。 は、事前に
感謝をBBのソースを読んで、私はこれが(私にとって、それは意味をなさない) 悪い習慣であることがわかり記事をチュートリアルを読んで、私は 他のバックボーンの開発者/ユーザーからのいくつかのフィードバックを愛したいました
私は個人的に、そのようなクロージャーでビューを配置する必要はないと見なされますが、可読性が低下します。 – c4urself
大いに同意しました。それは読めない...しかし、それ以上のことは、これが混乱につながると思う。あなたのフィードバックに感謝します –