web-dev-qa-db-ja.com

TypeScript-モジュール名にPascalCasingまたはcamelCasingを使用しますか?

モジュール名にPascalCasingまたはcamelCasingを使用する必要があるかどうか疑問に思っています。これまで、私は常にPascalCasingを使用していました。つまり:Ayolan.Engine.Rendering の代わりに Ayolan.engine.rendering(グローバルオブジェクト名をAyolanではなくayolanにしたいので、コンテナのPascalCasingを維持します)。

私はこれに関する見出しを見つけていません。3年前の thread でしたが、あまり役に立ちませんでした。

私はJava開発者と協力しているので、彼らにとってはcamelCasingを使用する方が理にかなっているので、疑問に思っていますが、これまでTSで見たものではありません。

12
Vadorequest

TypeScriptでは、JavaScriptと同じ標準を使用しています。これは、多くのJavaScriptライブラリを使用しているためです(JavaScriptコードによっても消費される可能性があります)。

そのため、モジュールとクラスにはPascalCaseを使用し、メンバーはキャメルケースにします。

module ExampleModule {
    export class ExampleClass {
        public exampleProperty: string;

        public exampleMethod() {

        }
    }
}

私が考えることができる他の唯一のスタイルルールは、定数がALL_UPPERであるということです。

これが次のコードとうまく調和していることに気付くでしょう。

Math.ceil(Math.PI);

最も重要なことは、使用するスタイルと一貫性を保つことです。スタイルは意味を暗示する可能性があるため、一貫性がないと混乱を招きます。

10
Fenton

注意:内部モジュールは名前空間です。 TypeScriptの次のバージョン は、名前空間ではないECMAScript 6 の外部モジュールに焦点を当てています。

Microsoftは、TypeScriptの内部モジュールの命名ガイドラインを公開していません。

PascalCaseを支持する議論

内部モジュールは、静的メンバーのみを持つクラスのようなものです。

module MyLib {
    export function f1() {
    }
    export function f2() {
    }
    // ...
}

名前空間にパスカルケースを使用する言語: C#[〜#〜] php [〜#〜]

キャメルケースを支持する議論

キャメルケースの名前は、 JSONのGoogleスタイルガイド を彷彿とさせます。

プロパティ名は、キャメルケースのASCII文字列である必要があります。

…しかし、内部モジュールはJSONオブジェクトではありません。

名前空間にキャメルケースを使用する言語:? (小文字を使用するJavaではありません)。

2
Paleo