3

Javascript オブジェクト/クラスに多くの関数が含まれている場合に、それらをすべて同じ「レベル」にする必要がある場合 (つまり、オブジェクトの第 1 レベルの関数のままにしておく必要がある場合)、どのようにレイアウトするかに興味があります。

では、このような構造で...

Namespace.class = {
    abc: 1,
    def: 2,
    ghi: 3,

    funcA: function(){
       // Some logic
    },

    funcB: function(){
       // Some logic
    },

    // Lots more functions

    funcN: function(){
       // Some logic
    }  
}

これはすべてかなり扱いにくいものになる可能性があります。これらのタイプのオブジェクトをどのようにレイアウトして、読みやすく、保守しやすく、新しい開発者がすぐに理解できるようにしますか?

私のアプローチは、すべてをアルファベット順に整理することでした。そのため、関数の名前を知っていれば、どこに行けばよいかおおまかにわかります。

しかし、機能が密接に関連し、相互に参照する機能をグループ化することは、より理にかなっていますか?

4

3 に答える 3

1

1 つのアプローチは、クラスをモジュール化し、それを複数のファイルに分割することです。通常、このアプローチはプラグインをコア クラスに提供するために使用されます。jQuery は、プラグインを使用してクラスを拡張した好例です。

同じクラスを複数のファイルに分割することに興味がない場合は、関数の順序をアルファベット順に並べると便利です。

最終的には、関数の定義にジャンプできる十分な IDE がある限り、関数の順序は重要ではありません。

于 2013-11-13T14:31:58.290 に答える