JavaScript命名约定;静态“;类或模块

JavaScript naming convention for a "static" class, or module?

本文关键字:模块 静态 命名约定 JavaScript      更新时间:2023-09-26

根据谷歌的JavaScript风格指南,类应该以大写字母开头。然而,JSDoc支持使用@static标记,该标记断言您不需要实例化类来使用成员。

我有一个类/模块,它完全由静态函数和属性组成。

它应该命名为namespaceBar.MyFooClass还是namespaceBar.myFooClass

正如评论者Barmar在这里指出的那样,如果您使用Math作为示例,即使它不会被实例化,也将类/模块名称大写似乎是规范的。

一个好的通用指南似乎是,当命名空间提供单个"模块"功能时,将其大写,无论是否为"静态"。

例如
myFooNamespace.MyBarClass-一个可以实例化的类
myFooNamespace.MyBazModule-"静态"类或模块。myFooNamespace.MyBazModule.myBarFoo()-模块中的一个函数。myFooNamespace.MyBazModule.myQuxBaz = "foobar"-模块中的属性。myFooNamespace.myQuxNamespace-命名空间中的命名空间。

从我的角度来看,类和顶级名称空间应该以大写字母开头,变量或函数(不是类的构造函数)应该以小写字母开头。所以在你的例子

NamespaceBar.myFooNamespace

正如评论中所指出的,我会将其标记为名称空间,而不是类。