3

最近、先頭のコンマを標準として使用するプロジェクトに参加しました。

このスタイル(行の安全なコメント)の理由は理解できますが、非常に不便です(控えめに言って)。

味だけの問題ではないと強く感じており、チームにこのスタイルを使用しないよう説得するには、「好きではない」よりも適切な理由が必要です。

ps サンプルコード:

function cls(){

    var prop = {
         a:'a'
        ,b:'b'
        ,c:'c'
        ,d:'d'
    };

    var arr = [
         11
        ,12
        ,13
        ,14
    ];

    var  x=1
        ,y=2
        ,z=3;

    return {

        f:function(){       
            alert(prop.a);      
        }

        , g:function(){
            alert(arr[0]);
        }

        , h: function(){
            alert(x);
        }

    };
}    


var test = cls();
test.f();test.g();test.h();

これまでの客観的な理由(一部は回答から、一部は私のもの):

  1. このスタイルは非常にまれで、特に JavaScript の学習教材やフレームワークでは珍しくありません。プロジェクトへの新規参入者や、異なる形式のプロジェクトに対処する必要がある開発者は不快に感じる可能性が非常に高いです。

  2. IDE のほとんどの自動書式設定ツールは、このスタイルを尊重しません (デフォルトでも構成でもありません)。

  3. さまざまなツール/ユーティリティの潜在的なバグ。これらのツールは、定期的に配置されたカンマで実装およびテストされる可能性が最も高いためです。例: Sencha CMD には、先頭にコンマがある JavaScript コードをコンパイルする際にバグがあります

更新: 共通のスタイルに従ってすべてのプロジェクトを自動フォーマットしました (具体的には、Google スタイル ガイド: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xmlに従って)。コードは大幅に改善され、すべてのツール (IDE、オプティマイザー、ビルダー (Sencha CMD)、構文バリデーターなど) は期待どおりに機能します。大企業内の大規模なプロジェクトなので、簡単な決断ではありませんでした。また、明確な CVS の履歴が失われましたが、最終的にはそれだけの価値がありました。

4

4 に答える 4

5

大丈夫だと思います。何かを追加したり何かを削除したりするときのタイプミスを減らします。

カンマを追加したり、他の行のカンマを削除したりする必要はありません。

var prop = {
    a: 'a'
  , b: 'b'
  , c: 'c'
  , d: 'd'
}

var arr = [
    11
  , 12
  , 13
  , 14
]

var x=1
  , y=2
  , z=3

Haskellのデフォルトのコード スタイルです。

Command-first コンマを見逃すことはありません。こちらを参照してください

于 2014-08-20T02:22:21.393 に答える
2

リストまたは辞書または宣言への追加は、既存の要素を含む行に影響を与えないため、この形式はより明確な diffsになります。

それでも、私はこの健全な形式を好みます (これはすべての最新のブラウザーで動作し、一部の古いブラウザーでも動作します):

{
    foo: 1,
    bar: 2,
    baz: 3,
}

[
    'foo',
    'bar',
    'baz',
]
于 2015-02-04T03:51:32.977 に答える