0

私は大規模な TypeScript プロジェクトを持っており、最近、いくつかの基本的なコード スタイリング ルールを適用するために tslint を追加しました。これでほとんど問題はなくなりましたが、まだ疑問に思っていることが 1 つあります。

いくつかのプロパティと関数をラップするシングルトンのようなオブジェクトがあるコードがいくつかあります。次のようなものを想像してください。

function open(x) {...};
function close(x) {...};
let isOpen = false;

export const MainMenu {
    open,
    close,
    isOpen
};

しかし問題は、tslint が MainMenu の命名について不平を言うことです。キャメルケースの変数名を強制するように指示したためです。これ以外のすべての状況で、規則は当てはまります。このような状況では、大文字にするのが正しいと思います ( MathReflectなどはすべてこの規則に従います)。

それで、私はここで何をすべきですか?これが発生するたびにルールを無効にすることができますか、それともnamespace概念がこれにより適しているのでしょうか? しかし、私は外部モジュールを使用しているので、そうすべきかどうかわかりません。さらに、namespace-s を使用すると、プロパティ メンバーの追加がより困難になります。

どんなアドバイスでも大歓迎です。

4

1 に答える 1

2

一般的に、これは私が使用する領域のように思えますnamespace(または、おそらく別の外部モジュール?その後、現在のモジュールで再エクスポートできます)。

しかし、この方法で物事をやりたいと思っていて、TSLint を満足させたいとしましょう。最も簡単な解決策は、一時的に無効にすることvariable-nameです。

/* tslint:disable:variable-name */
export const MainMenu {
    open,
    close,
    isOpen
};
/* tslint:enable:variable-name */

(再有効化のコメントを数行上に移動できることに注意してください。美的な目的のために、私はそれを好むだけです。)

ファイル内のこのルールから特定の変数を除外する方法についての現在の機能要求もありtslint.jsonます。そのため、オプションになる可能性があります。

于 2016-02-21T23:37:29.197 に答える