node.js有(或几个)编码样式指南吗?如果没有,顶级开源节点项目使用的新兴样式是什么?
我正在寻找与PEP 8一致的指南(或几个指南),这是Python的规范编码风格指南。我已经看到了各种不值得链接的JavaScript指南(主要是旧版和针对客户端JavaScript)。我发现了一个有趣的node.js style guide。
编码风格指南或编码惯例应包括(但不限于):
这个话题显然是非常主观的,但我认为这是社区在成熟过程中建立一个共同且广泛接受的编码风格的重要一步。而且,这不仅仅是味道。特别是,“使用===而不是==”这样的规则会对代码质量产生直接影响。
答案 0 :(得分:116)
我会审核JSLint检查的编码标准,或查看NPM(Isaac Shlueter)coding standards的作者。
您还可以查看着名的Node.JS编码器使用的样式:
我会throw mine在那里做好准备;)
修改:来自@alienhard
的建议IMO你应该遵循一些黄金法则:
with
或eval
===
而不是==
var
声明变量 - 不要回退到全局范围(function(){})()
关闭中err
缩进,大括号和关键字之间的间距以及分号位置都是首选。
答案 1 :(得分:13)
答案 2 :(得分:10)
您可以从面向客户端的JavaScript指南中学习很多优秀的编码风格实践(大多数也适用于node.js,因为客户端和服务器端之间的区别主要在于库而不是语言本身)。例如,JavaScript Patterns本书专门针对此主题Chapter 2的某些部分。道格拉斯·克罗克福德的website,book和videos也是必看材料,以便采用我想说的JavaScript特定编码风格和最佳实践。
答案 3 :(得分:7)
从终端使用节点时,源代码使用空格进行缩进很有用。否则,“错误在这里”插入符号将不会排列。
使用标签:
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唯一的问题,但我怀疑不会。
答案 4 :(得分:6)
自从我提出这个问题以来已经有一段时间......与此同时我发现了这个优秀的JavaScript指南:
编写一致,惯用JavaScript的原则
答案 5 :(得分:5)
Airbnb有一个非常好的Javascript风格指南 https://github.com/airbnb/javascript
答案 6 :(得分:2)
对于Coffee-Script,坏缩进意味着编译错误
使用
:set tabstop=2
:set shiftwidth=2
:set expandtab
热门咖啡项目,zombie
,brunch
使用此设置进行缩进。
编辑:
实际上,只需使用它! https://github.com/paulmillr/code-style-guides(brunch
)