- 原文地址:Node.js Best Practices - How to become a better Node.js developer in 2018
- 原文做者:GERGELY NEMETH
- 译文出自:掘金翻译计划
- 本文永久连接:github.com/xitu/gold-m…
- 译者:Yong Li
- 校对者:guoyang moods445
在过去两年中,每一年写一篇关于来年如何成为更好的 Node.js 开发者的建议已经成了我本身的传统。今年也不例外!🤗php
若是你对我以前的新年建议感兴趣,你能够在 RisingStack 博客上阅读:前端
话很少说,一块儿来看 2018 年的建议!node
async-await
随着 Node.js 8 的发布,async
函数已经广泛可用了。有了 async
函数的存在,你能够替换掉回调,写出读起来和同步代码同样的异步代码。android
但什么是 async
函数?让咱们回顾一下 Node.js Async 函数最佳实践 一文:ios
async
函数可让你写出读起来像是同步代码的,但实际基于 Promise
的代码。一旦你使用了 async
关键字来定义函数,你就能够在函数体内使用 await
关键字。async
函数被调用时,它会返回一个 Promise
。当 async
函数体中返回一个值时,该 Promise
完成(fulfilled)。当 async
函数抛出错误时,该 Promise
失败(rejected)。git
await
关键字能够用来等待一个 Promise
完成而且返回结果值。若是传给 await
关键字的值不是一个 Promise
,它会将其转换成一个已完成的 Promise
。程序员
若是你想掌握 async
函数,我推荐你浏览这些资源:es6
当你部署应用的新版本时,必须更换旧版本。你使用的,不论是 Heroku, Kubernetes, supervisor 仍是任何其它的进程管理器,会首先给应用发送一个 SIGTERM
信号,来通知它即将被停止。一旦应用获得了该信号,它应该中止接受新的请求,完成全部正在处理中的请求,而且清理它使用的资源。资源一般包含了数据库链接和文件锁。github
为了让这一过程更简单,咱们在 GoDaddy 上发布了名为 terminus 的开源模块,来帮助你的应用实现优雅停止。如今就来看看 ☺️web
在一个有上百人开发团队的公司中采用风格指南是颇有挑战性的 —— 让每一个人都承认同一套规则简直难如登天。
恕我直言:你永远没法让上百个开发者承认同一组准则,即便这能带来显而易见的收益,譬如让团队更快地在项目间切换,而无需费时费力来习惯一套新的(即便只有一点儿不一样)代码编写风格。
若是你正是工做在这种团队氛围中,我发现最好的办法是信任某位经验丰富的程序员,和其余人共同努力来决定风格指南包含哪些准则,但他要有最终决定权。在全部人都能遵循同一套准则以前,该准则的具体内容并不重要(我不想引起关于分号的争吵)。重要的是必须在某一刻有所决定。
咱们看到愈来愈多的公司被列在 haveibeenpwned 上 —— 我打赌你不想成为下一个。当你向你的用户发布一段新代码的时候,代码审核应该包含安全领域的专家。若是你公司内没有这样的人才,或者他们很是很是忙,一个很好的解决办法是和相似 Lift Security 这样的公司合做。
而你做为一名开发者,一样应该努力更新你的安全知识。为此,我推荐你阅读这些材料:
另外一个成为更好的开发者,甚至更好地学会表达本身的方法,就是在见面会或者会议上演讲。若是你从未试过,我推荐先从一个本地的见面会开始,再去尝试申请全国的或者国际的会议。
我明白当众演讲会很难。当我准备个人第一次演说时,Speaking.io 帮了我很多忙,我也推荐你去看看。若是你正在准备你的第一次演说,而且想要一些反馈的话,你能够在 Twitter 上找我谈谈,我很乐意帮忙!
一旦你有了一个想要在会议上分享的主题,你能够在 Github 上查看到 2018 Web 会议 征文集合,这太棒了!
九月时 Mikeal 在 Modern Modules 上发布了一篇很好的文章。其中我最喜欢的一件事,就是使用浏览器 API 来编写模块,当必要时填补(polyfill)Node.js。由此而来的显著优点就是你能够将更小的 JavaScript 代码发布进浏览器中(而且让页面加载得更快)。另外一方面,没人会在乎你的后端依赖是否是太过繁重。
应用开发的 12-Factors 原则,描述了网络应用应当如何编写的最佳实践,所以它也出如今今年个人建议列表中了。
随着 Kubernetes 和其它编排引擎的使用率不断提高,遵循 12-Factors 法则变得愈来愈重要。它们涵盖了如下领域:
一些新的 ECMAScript 特性能够显著提高你的效率。它们能够帮你写出不言自明的清晰代码。其中我最爱的特性有(老实说它们不是很是新了):
若是你想知道新的 ECMAScript 特性的完整内容,我推荐阅读这本书 ES6 & Beyond。
你想在这份列表中加入别的建议吗?请在留言中告诉我。
掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。