当前位置: 首页 > 面试题库 >

Node.js应用程序的编码样式指南?

潘振国
2023-03-14
问题内容

是否有一个(或多个)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惯用语,例如== vs. ===,回调的第一个arg是错误对象,…
  • 意见和文件
  • 附带的工具,例如棉绒检查器,单元测试框架,…

这个主题显然是高度主观的,但是我认为这是社区发展成熟过程中建立通用且被广泛接受的编码风格的重要一步。另外,它不只是关于味道。特别是,诸如“使用===而非==“之类的规则对代码质量有直接影响。


问题答案:

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

您还可以查看著名的Node.JS编码人员使用的样式:

  • TJ霍洛韦丘克
  • 艾萨克·舒勒特
  • 蒂姆·卡斯威尔
  • 杰里米·阿什肯纳斯(Jeremy Ashkenas)
  • 费利克斯·盖森德尔佛
  • 查理·罗宾斯
  • 马拉克乡绅
  • 亚伦·赫克曼(Aaron Heckmann)
  • 吉列尔莫·劳赫(Guillermo Rauch)
  • 迈克尔·罗杰斯
  • Ryan Dahl +您可以看一下实际的Node.JS代码库

我会把我丢在那儿;)

编辑:

  • Google JavaScript样式指南
  • Felix的Node.js样式指南

IMO有一些黄金规则应遵循:

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

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



 类似资料:
  • 应用程序开发人员使用composer-clientnpm模块以编程方式连接到已部署的业务网络,创建、读取、更新、删除资产和参与者,以及提交交易。如果应用程序需要能够部署或管理业务网络,则可以使用composer-adminnpm模块。 示例landregistry.js文件包含一个代表土地注册的类,并包含列出土地权证、添加默认权证和提交交易的方法。这已经使用JavaScript类实现了; 然而,你

  • 我试图创建一个从扩展而来的自定义视图,并在代码中应用样式,这样我就不需要在xml中这样做。 风格是: 一切正常,但property。由于某种原因,背景色并没有改变,它有主题的原色。但是,如果我尝试将样式应用于xml中的,它确实会改变颜色。 你知道为什么会这样,或者我怎样才能做到吗?

  • 我通常是一个木工,而不是一个开发商。我正在学习嵌入式系统的C/C++,同时尝试使我的一些工具自治,以节省我数小时的重复工作。 现在,它的乐趣和进展顺利,我已经花了一百个小时的编码/学习,已经节省了更多的时间*。 正如我想继续下去的那样,购买并遵循MISRA编码规则是一个“强制性的好主意”吗?米斯拉里面有什么?只是编码规则,还是让它更安全的提示? 这些工具可能是危险的(毕竟它们是砍木头的,而人体的抵

  • 问题内容: 我正在考虑开发由两部分组成的桌面应用程序: 用户界面(例如Java应用) 后端Node.js服务器 2个部分通过插座连接。不要问为什么我知道这很奇怪。 我将希望能够为客户提供带有安装程序的应用程序。我不希望用户必须自己安装Node.js。 有没有一种方法可以独立安装Node.js服务器,即无需在系统上全局安装Node.js。 对于任何(Windows,Linux,Mac OS X …)

  • 问题内容: 我已经配置了SSL enpoint,并且可以确认它正在工作。当我进入日志时,会看到以下内容: 我试图追踪有关退出代码143的一些信息,以及为什么所有进程都被停止。签出以下服务器文件: 感谢您的提前反馈。如果需要,我可以提供更多详细信息。 ------解决方案(编辑)------- 请参阅下面的答案。 问题答案: 我在这里找到了答案:ExpressJS节点HTTPS服务器上的Heroku

  • 如何使用node.js(后端)禁用Azure应用程序Insights中的采样