编码风格指南node.js应用程序?
是否有一个(或几个)node.js的编码风格指南? 如果不是的话,顶级的开源节点项目使用的新兴的风格是什么?
我正在寻找一个指导(或几个指南)沿线PEP 8 ,Python的规范编码风格指南。 我已经看到各种JavaScript指南不值得在这里链接(大多数是旧的,针对客户端的JavaScript)。 我发现了一个有趣的node.js 风格指南 。
编码风格指南或编码规范应包括(但不限于):
- 代码布局:缩进(2个空格,4个空格,制表符,…),换行符,换行符等
- 空格,例如“function(arg)”与“function(arg)”
- 分号或不分号,var声明,…
- 命名,例如,do_this()与doThis(),var_name与varName,…
- node.js和JavaScript的成语,例如,==对===,callback的第一个arg是一个错误对象,…
- 评论和文件
- 附带的工具,如皮棉检查器,unit testing框架,…
这个主题显然是非常主观的,但我认为在成熟过程中build立一个共同的,被广泛接受的编码风格是社区的重要一步。 而且,这不仅仅是品味。 特别是像“使用===而不是==”这样的规则对代码质量有直接的影响。
我会回顾一下JSLint检查的编码标准,或者看一下NPM (Isaac Shlueter's) 编码标准的作者 。
您还可以看看着名的Node.JS编码器使用的样式:
- TJ Holowaychuk
- Isaac Shlueter
- 蒂姆·卡斯韦尔
- 杰里米阿什肯纳斯
- FelixGeisendörfer
- 查理罗宾斯
- Marak Squires
- 亚伦·赫克曼(Aaron Heckmann)
- 吉列尔莫·劳奇
- 迈克尔·罗杰斯
- Ryan Dahl +你可以看看实际的Node.JS代码库
我会把它扔在那里,好的措施;)
编辑: @alienhard的build议
- Google JavaScript风格指南
- Felix的Node.js风格指南
国际海事组织有几个黄金法则你应该遵循:
- 切勿使用或
eval
- 使用
===
覆盖==
- 总是在适当的范围内用
var
声明你的variables – 不要回退到全局范围 - 如果您计划发布运行服务器端以及浏览器的代码,则将您的应用封装在闭包中
(function(){})()
- callback应该作为第一个参数
err
,如果他们自己把一个callback作为参数,它应该是最后一个,例如callback(err, param1, param2, callback)
缩进,括号和关键字之间的间隔以及分号放置都是优先select的问题。
您可以从面向客户端的JavaScript指南中学习很多良好的编码风格实践(其中大部分也适用于node.js,因为客户端和服务器端之间的区别主要在于库而不是语言本身)。 例如,“ JavaScript模式”一书专门讨论了这一主题的一些部分。 此外道格拉斯Crockford的网站 , 书籍和video是一个必须看到的材料,以采用JavaScript的具体编码风格和最佳做法,我会说。
镇上有一个新的标准。
使用标准样式 。
从terminal使用节点时,源代码使用空格进行缩进非常有用。 否则,这里的“错误”插入符号将不会排队。
使用标签:
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语言的原则
Airbnb有一个相当不错的JavaScript风格指南https://github.com/airbnb/javascript
对于Coffee-Script,缩进意味着编译错误
使用
:set tabstop=2 :set shiftwidth=2 :set expandtab
stream行的咖啡项目, zombie
, brunch
使用这种设置缩进。
编辑:
其实只要用这个! https://github.com/paulmillr/code-style-guides ( brunch
的主要贡献者之一)