为 node.js 应用程序编码样式指南?

对于 node.js 是否有一个(或多个)编码风格指南?如果没有,那么顶级开源节点项目使用的 新兴风格是什么?

我正在寻找一个指南(或几个指南)沿着 PEP 8的思路,Python 的规范编码风格指南。我在这里看到了各种不值得链接的 JavaScript 指南(大多数都是旧的,针对客户端的 JavaScript)。我找到了一个有趣的节点 js 时尚指南

编码风格指南或编码约定应包括(但不限于) :

  • 代码布局: 缩进(2个空格,4个空格,制表符,...) ,换行符,换行符等。
  • 空白,例如“ function (arg)”与“ function (arg)”
  • 分号或无分号,var 声明,..。
  • 命名,例如 do _ this () vs. doThis () ,var _ name vs. varName,..。
  • Js 和 JavaScript 习惯用法,例如 = = vs. = = = ,回调的第一个 arg 是一个错误对象,..。
  • 评论和文档
  • 配套的工具,如林特检查器,单元测试框架,..。

这个主题显然是非常主观的,但是我认为在变得成熟的过程中建立一种普遍的和被广泛接受的编码风格是社区的重要一步。而且,这不仅仅是味道的问题。特别是像“ use = = = 而不是 = =”这样的规则对代码质量有直接的影响。

55190 次浏览

我会回顾由 JSLint检查的编码标准,或者看看 NPM(Isaac Shlueter’s) 编码标准的作者。

你也可以看看著名的 Node.JS 程序员使用的样式:

我会把 扔我的放进去,以防万一。)

编辑: 来自 @ 艾利哈德的建议

在我看来,你应该遵守以下几条黄金法则:

  • 不要使用 witheval
  • ==上使用 ===
  • 始终在适当的范围内使用 var声明变量——不要回到全局范围
  • 如果您打算发布运行服务器端和浏览器的代码,请将应用程序包装在一个闭包 (function(){})()
  • 回调函数应该将 err作为第一个参数,如果它们自己将回调函数作为参数,那么它应该是最后一个,例如 callback(err, param1, param2, callback)

缩进、大括号和关键字之间的间距以及分号的放置都是首选项。

你可以从面向客户端的 JavaScript 指南中学到很多很好的编码风格实践(大多数也适用于 node.js,因为客户端和服务器端的区别主要在于库,而不是语言本身)。例如,JavaScript 模式的书专门讨论这个主题的 第二章的一些部分。此外,为了采用特定于 JavaScript 的编码风格和最佳实践,道格拉斯·克罗克福特的 网站视频都是必看的材料。

对于 Coffee-Script,错误的缩进意味着编译错误

使用

:set tabstop=2
:set shiftwidth=2
:set expandtab

流行的咖啡项目,zombiebrunch使用这个设置的缩进。

编辑:

实际上,只要使用这个! https://github.com/paulmillr/code-style-guides(brunch的主要贡献者之一)

当从终端使用节点时,源代码使用空格进行缩进是很有用的。否则,“错误在这里”插入符号不会排成一行。

标签:

        var preps = files.map(function(f) {
^
TypeError: Cannot call method 'map' of null

有空格:

        var preps = files.map(function(f) {
^
TypeError: Cannot call method 'map' of null

这可能只是 Mac 的问题,但我不这么认为。

我已经有一段时间没有问过这个问题了... ... 与此同时,我发现了这个出色的 JavaScript 指南:

编写一致的惯用 JavaScript 的原则

Https://github.com/rwldrn/idiomatic.js/

Airbnb 有一个相当不错的 Javascript 风格指南 Https://github.com/airbnb/javascript

城里有个新标准。

使用 标准款式

js-standard-style