TypeScript - 使用 PascalCasing 或 camelCasing 作为模块名称?

TypeScript - Use PascalCasing or camelCasing for module names?

我想知道我是否应该使用 PascalCasingcamelCasing 作为我的模块名称,到目前为止我一直使用 PascalCasing,即:Ayolan.Engine.Rendering 而不是 Ayolan.engine.rendering(我为容器保留 PascalCasing,因为我希望全局 object 名称为 Ayolan 而不是 ayolan)。

我还没有找到关于此的任何标题,发现 thread 来自 3 年前但不是很有用。

我想知道,因为我正在与 Java 开发人员一起工作,对他们来说,使用 camelCasing 更有意义,但这不是我到目前为止看到的 TS。

注意:内部模块是命名空间。下一个版本的 TypeScript focuses on external modules from ECMAScript 6,它不是命名空间。

Microsoft 未发布 TypeScript 内部模块的命名指南。

支持 PascalCase 的论点

一个内部模块就像一个只有静态成员的 class:

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

命名空间使用 Pascal 大小写的语言:C#, PHP

支持驼峰式命名的论点

驼峰式的名字让人联想到 Google Style Guide for JSON:

Property names must be camel-cased, ascii strings.

… 但内部模块不是 JSON 对象。

命名空间使用驼峰式大小写的语言:? (不是 Java,它使用小写)。

在 TypeScript 中,我们使用与 JavaScript 相同的标准,因为我们正在使用许多 JavaScript 库(并且可能也被 JavaScript 代码使用)。

所以我们更喜欢 PascalCase 用于模块和 类,成员是驼峰式。

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

        public exampleMethod() {

        }
    }
}

我能想到的唯一其他样式规则是常量是 ALL_UPPER.

您会注意到这与以下代码很好地融合在一起:

Math.ceil(Math.PI);

最重要的是 - 与您使用的风格保持一致,因为风格可以暗示意义,所以如果您不一致,就会造成混淆。