Javascript 命名类型和实例

Javascript 命名类型和实例,javascript,naming-conventions,Javascript,Naming Conventions,我正在尝试清理我正在创建的游戏的代码。从一开始,我就将相关函数放在覆盖对象中。例如,可以在initial.initialize()处访问initialize函数 但是,对于这个对象和其他对象,我希望使用类型,然后创建它们的实例。例如,我有一个设置类型,它保存游戏的一些设置。设置应为类型,而实例应包含实际设置值 现在,我应该如何最好地命名类型,然后如何命名实例,尤其是当我只有一个实例时?如果我为类型设置命名,如何以变量名的形式最好地描述实例?最常见的方法是以大写字母开头类或类型的名称,以小写字母开

我正在尝试清理我正在创建的游戏的代码。从一开始,我就将相关函数放在覆盖对象中。例如,可以在
initial.initialize()
处访问initialize函数

但是,对于这个对象和其他对象,我希望使用类型,然后创建它们的实例。例如,我有一个设置类型,它保存游戏的一些设置。设置应为类型,而实例应包含实际设置值


现在,我应该如何最好地命名类型,然后如何命名实例,尤其是当我只有一个实例时?如果我为类型设置命名,如何以变量名的形式最好地描述实例?

最常见的方法是以大写字母开头类或类型的名称,以小写字母开头存储对实例化类的引用的变量。 因此,您的类和实例名称如下:

// your class name
function Settings() {
  this.initialized = false;
}
Settings.prototype.initialize = function() {
  this.initialized = true;
}

var settings = new Settings();
settings.initialize();

这都是你个人的喜好。如果您希望有一个更标准化的命名约定,或者制定自己的命名约定,则可以使用。关键是要保持一致。

最好的命名约定是在六个月不看代码后可以读取的命名约定

在很多情况下,除非你记住了你的意思,否则匈牙利符号是没有意义的

对于设置对象,调用原型对象

SettingsObject
并调用实例

settings
因为您(以及阅读代码的任何其他人)将了解SettingsObject的实例将包含什么,并且知道
settings
变量包含什么。如果您需要更长的名称,请使用更长的名称,在开发过程中进行描述性描述不会受到惩罚

例如,
UnitMouseClickListener
或任何其他有意义的名称


开发完成后,您可以随时返回并缩小生产代码,但只有在您解决了所有问题后,才能这样做。可能还不如在编写代码时阅读代码。

只是想知道,您同时使用了
设置
设置
,以及
新设置
设置
-这是打字错误吗?好的,谢谢。然而,如果只有大写/小写字母起作用,我并不真正喜欢这种方式。另外,据我所知,有些语言不区分大小写。哦,对不起。我以为你是在专门谈论javascript,因为标签就是这么说的。好的,然后你可以像我建议的那样使用匈牙利符号,并在你的类前面加上“cls_”之类的前缀。@pimvdb:是的,但JavaScript不是。是的,我很抱歉。这个例子是用JavaScript编写的,但当我用另一种语言编写时,我希望能够使用一致的命名规则。无论如何,谢谢你的匈牙利符号链接。谢谢。我正在使用的一些类型在名称末尾没有对象部分是可以的(例如Vector3D-将其用作变量名不是描述性的),因此仅将对象放在一些类型名称之后将不会再次非常一致。命名约定实际上是编程中相当困难的一个方面。。。