Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js应用程序的编码风格指南?_Javascript_Coding Style_Node.js - Fatal编程技术网

Javascript node.js应用程序的编码风格指南?

Javascript node.js应用程序的编码风格指南?,javascript,coding-style,node.js,Javascript,Coding Style,Node.js,node.js是否有(或多个)编码风格指南?如果不是,顶级开源节点项目使用的新兴风格是什么 我正在寻找一本(或几本)类似于Python规范编码风格指南的指南。我在这里看到了各种不值得链接的JavaScript指南(大多是旧的,针对客户端JavaScript)。我发现了一个有趣的node.js 编码风格指南或编码惯例应包括(但不限于): 代码布局:缩进(2空格、4空格、制表符等)、换行符、换行符等 空白,例如,“函数(arg)”与“函数(arg)”之间的比较 分号或无分号,变量声明 命名,例如,

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

我正在寻找一本(或几本)类似于Python规范编码风格指南的指南。我在这里看到了各种不值得链接的JavaScript指南(大多是旧的,针对客户端JavaScript)。我发现了一个有趣的node.js

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

  • 代码布局:缩进(2空格、4空格、制表符等)、换行符、换行符等
  • 空白,例如,“函数(arg)”与“函数(arg)”之间的比较
  • 分号或无分号,变量声明
  • 命名,例如,do_this()vs.doThis(),var_name vs.varName
  • node.js和JavaScript习惯用法,例如==vs.==,回调的第一个参数是错误对象
  • 评论和文件
  • 附带的工具,如lint checker、单元测试框架

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

我会回顾一下(Isaac Shlueter的)作者检查过的编码标准

您还可以查看著名的Node.JS程序员使用的样式:

  • +你可以看看
我会在那里好好考虑的;)

编辑:来自

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

  • 切勿将
    eval一起使用
  • 使用
    ===
    覆盖
    ==
  • 始终在适当的范围内使用
    var
    声明变量-不要退回到全局范围
  • 如果您计划发布在服务器端和浏览器中运行的代码,请将应用程序包装为闭包
    (function(){})(
  • 回调应将
    err
    作为第一个参数,如果回调本身将回调作为参数,则回调应为最后一个参数,例如
    callback(err,param1,param2,callback)

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

您可以从面向客户端的JavaScript指南中学到许多良好的编码风格实践(它们中的大多数通常也适用于node.js,因为客户端和服务器端的区别主要在于库,而不是语言本身)例如,这本书专门介绍了.的一些部分,还有Douglas Crockford的和,是采用JavaScript特定编码风格和最佳实践的必看资料。对于Coffee脚本,缩进不良意味着编译错误

使用

流行的咖啡项目,
僵尸
早午餐
将此设置用于缩进

编辑:


实际上,只要使用这个!(早午餐的主要贡献者之一)

当从终端使用节点时,源代码使用空格进行缩进是很有用的。否则,“error here”插入符号将不会对齐

带选项卡:

        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风格指南
城里有一个新标准

使用


i gues这实际上取决于您使用的“框架”(如果有),例如,您可以查看,但其他人可能会提出稍微不同的问题“任何人是否有一套好的风格指南”可能是主观的,也可能不是主观的,但“新兴风格是什么?”当然是。你已经找到了Felix的指南,当然我不同意的方面(在某些情况下强烈)和的其他方面。这就是问题所在。很快,它就进入了“不,我看到的emerge样式使用制表符!”“不,我看到的emerge样式使用四个空格!”“不,我看到的emerge风格使用两个空格!”当然,人们真正的意思是“我更喜欢的风格”,而不是“我看到的emerge风格”。@T.J.Croweder我看到的emerge风格不使用空格!+1个很棒的问题。我希望很久以前就有这些链接。主观问题。+1到道格拉斯·克罗克福德的书《JavaScript:好的部分》“。在一本简明扼要的小书中,它包含了大量的信息——读了很多,但却是我读过的最好的书之一。谢谢你的回答。我想知道你为什么没有提到Ryan;)。但我从官方的node repo维基上推测,他们也会这样做。我以前不知道这个…我不知道为什么只有3张选票…@Luc可能是因为“没有分号”规则。对于所谓的“标准”样式来说,这似乎是一个奇怪的选择。没有分号不是一个好主意。它将打破一些缩小。这个
标准
包不喜欢分号。如果你喜欢分号,这里有一个样式指南。不是什么特别的提示。@可能是真的,但缩进规则几乎是每个样式指南的一部分。也许我的观点可以帮助OP评估其他人将链接的一些风格指南,或者可以帮助他开发自己的风格指南。
        var preps = files.map(function(f) { 
                          ^
TypeError: Cannot call method 'map' of null