很难找到信息的javascript的一个方面是套管实践。通过套管实践,我的意思是套管样式(即驼峰案例,pascal-case等)应该用于哪些元素(构造函数,私有函数,公共函数)。

我听过的唯一规则是关于YUI剧院的道格拉斯克罗克福德演讲,指出构造函数应该是唯一以大写字母开头的函数。

除此之外,似乎没有很多人在javascript中遵循的套管标准。

有没有人知道javascript的套管最佳做法,以及为什么使用它们是合理的?

您是否也遵循.js文件的套管样式?

有帮助吗?

解决方案

我更喜欢PascalCase用于构造函数,而camelCase用于其他所有内容。这就是JS标准库使用的风格,以及到目前为止我见过的每个JS框架:)

我对从web提供的所有文件使用all_lowercase命名约定。那里有一些不区分大小写的文件系统。

其他提示

核心语言使用InitialCaps作为构造函数(例如Object,Date,Number,RegExp),使用camelCase作为方法和属性(例如something.toString(),quantity.valueOf(),regexp.ignoreCase)。 DOM规范和实现(例如HTMLElement.setAttribute())也遵循此约定。所以采用相同的惯例是最有意义的,或者你完成了一个可怕的风格混乱,如:

var number_of_fish_requested = document.getElementById("fish").value;
var fish_count = parseInt(number_of_fish_requested, 10);

这变得完全令人困惑,不仅要打字,更重要的是阅读。

(您花费更多时间阅读代码,尝试调试或修改代码,而不是首先编写代码。)

到目前为止,我所看到的是套管标准的多样性。

就我而言,我使用C#样式来编写我的JavaScript代码。我经常使用类(函数作为类,通常没有独立的函数。) 因此,我将PascalCase用于类名,公共方法,属性和所有全局变量,并使用camelCase作为参数,局部变量和私有函数。这在某种程度上反映了我的共同环境,有助于区分变量范围。 我还倾向于将我的类函数保存在一个与我的ClassName(ClassName.js,ClassName.min.js)同名的单独文件中。

这是我的方法。

我还注意到Java程序员遵循Java规则(并且编写风格类似于Java语言。)Ruby on Rails程序员遵循他们自己的命名标准,例如 underscore_separated_var_name

此外,正如您所提到的,在非常流行的框架中,有很多人使用pascalCase,其作者来自不同的社区,如Linux /开源社区和Microsoft开发人员(jQuery,knockout.js,JSJaC等)。 )

我应该注意到,当涉及到JS时,这些方法都没有错误或正确。命名约定和文件结构的主要目的是可读性。如果您是一致的,那么您将来和您的开发人员将很快理解并继续您的代码。

除了构造函数之外,我更喜欢camelCase。原因(我相信这就是为什么Crockford先生也提出这个原因)是因为在其他语言中,例如Java,约定是大写你的类,这是构造函数的用途。

那是我的0.02美元。

所有带有下划线分隔符的小写字母最容易阅读;它遵循自然语言。 "最佳"会让你参加圣战;现实情况与其他设计问题无关,但它是一个容易分化的话题。

ALongButNotReallyReadableIdentifier
an_even_longer_but_completely_readable_identifier

接受的答案是正确的,但有一些例外。 在window.JSON和window.XMLHttpRequest中,术语大写。

大多数人也使用PascalCase作为Javascript中的枚举类型对象和其中的大写值。有时名称空间也在PascalCase中完成。

例如: MyCompany.Web.UI.MyComponent.ThemeOption = {BLACK:0,SILVER:1,BLUE:2}

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top