JavaScript是否有编码规范?

179

JavaScript有哪些已经确立的编码标准?


1
看到这个问题仍然出现在Google搜索中,我认为添加这个信息可能是相关的。JavaScript 是遵循 ECMA 标准的 ECMAScript 脚本的一种实现。标准 ECMA-262。从 ECMA 维基页面 中可以得知:网景公司将 JavaScript 提交给 Ecma International 进行标准化,并于1996年11月开始了规范工作 ECMA-262 - Nope
13
关闭并受保护。啊?! - Robbie Dee
1
http://www.sourceformat.com/pdf/javascript-coding-standard-apple.pdf - Damodaran
13
为什么这个问题被关闭?对于新的 JavaScript 程序员来说,这是一个非常好的问题,特别是考虑到大多数新程序员编写的原始 JavaScript 代码的状态。我想让它更加清晰易懂,但不改变其原意。 - Nathan Basanese
1
你可以使用Airbnb JavaScript风格指南来获取最新的编码标准 https://github.com/airbnb/javascript - Naresh Chennuri
显示剩余3条评论
8个回答

75

这可能不完全符合你的要求,但我认为每个编写/编辑/审核JS代码的人都应该查看Chris Heilmann的幻灯片视频来了解可维护的JavaScript(如同Doug Crockford的视频)。

在这些幻灯片中,第127张幻灯片上说,不要过分担心样式指南/代码规范,可以重新格式化所有检入版本控制系统的代码。

此外还有以下资源:

Mozilla JavaScript技巧

JavaScript样式指南


2
Google也有一份风格指南:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml - aug
3
为了解决这个问题(寻找并决定JavaScript代码风格,同时允许一定的灵活性),我创建了http://jscode.org。在该网站上,您可以根据一些设置生成自定义的代码风格(是的,听起来可能像明目张胆的广告,但我并没有从中获得任何利益,我只是为自己和团队建立了这个网站,我认为它非常有价值)。 - Bruno Bernardino
Mozilla JavaScript技巧非常稀少,我不会包含它。 - Fuzzy Analysis
所有的链接都已经失效了。这是一个糟糕答案的例子。 - ecarrizo

24

另一个遵循Crockford的JavaScript编码指南的好处是:

下面的代码实际上返回undefined,因为JavaScript的分号注入 - 这是让整个开发团队达成一致的非常好的理由:

return // injected semicolon, therefore returns 'undefined'
{
    javascript : "fantastic"
}; // object constructs anonymously but nothing happens with it.

关于此,请参见小心JavaScript分号插入


2
还有 JSLint 可以帮助自动化/验证这些准则。http://www.jslint.com/ - Funka

10

我从未看到一份被广泛认可的JavaScript编码标准。我们自己写了一份一段时间之前,根据我的雇主,我在博客上发表了它

请记住,其中一些指南可能有点过时。


这份文档涉及到“C#编程指南”。您是否也公开提供它? - z-boss

8

这是一个“仅链接”答案,而且链接已经失效了,这正是为什么应该避免使用“仅链接答案”的原因。 - MrUpsidown

6
你可以在Google Code Wiki找到一些简单但必要的编码规范。
如果需要非常详细的样式指南,请阅读Dojo样式指南。它涵盖了命名约定、文件约定、变量使用、代码布局、空格和注释等方面。

4
我有点困惑,因为我找不到关于回复的信息。Addy Osmani在他的"JavaScript Style Guides And Beautifiers"文章中将Idiomatic.jsjQuery Core Style Guide放在JavaScript编码风格完整列表的顶部。我个人更喜欢jQuery标准,尽管它与Idiomatic.js没有太大区别。但无论选择哪种标准,您都需要一个验证器来检查您是否成功地遵循了它。我找不到任何适用于jQuery或至少Idiomatic的验证器,但最终想到了JS_CodeSniffer

3

2

我和其他几个人最近制作了这些(PDF或HTML)规范

它们主要是为Ajax Control Toolkit设计的,但实际上无论你使用哪种框架,都包含各种有用的指导。

希望这有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接