J

JavaScript/Node 最佳实践

2025-06-10

JavaScript/Node 最佳实践

我的其他列表


我通常会遵循Airbnb 的 JavaScript 样式指南,但我打算保留这份列表作为参考。如果你在项目中集成了 ESLint,其中大多数规则将自动强制执行。

  1. 如果你仍在使用 es5,请始终使用 'use strict'
  2. 不要使用全局变量
  3. 始终优先使用 const,而不是 let。抛弃 var
  4. 更喜欢编写纯函数,而不是改变数据或产生副作用的状态函数
  5. 学习并使用函数式组合
  6. 函数式编程优于命令式编程
  7. 使用方法链
  8. 优先选择组合而不是继承
  9. 使用 linters 来确保你的代码是一致的。
  10. 使用 Airbnb JavaScript 样式指南 ( https://github.com/airbnb/javascript )
  11. 避免在生产环境中使用客户端控制台日志
  12. 优先使用‘===’而不是‘==’
  13. 使用默认参数而不是短路或条件
  14. 函数参数(理想情况下为 2 个或更少)
  15. 如果可能的话,将条件语句封装在单独的函数中
  16. 避免否定条件
  17. 学习并实践 SOLID 模式的实施
  18. 使用 Promises,而不是回调
  19. Async/Await 比 Promises 更简洁,多用
  20. 将 try/catch 与 async/await 结合使用
  21. 使用 Async-Await 或 Promise 进行异步错误处理
  22. 不要忽略被拒绝的承诺,将其记录到外部日志服务
  23. 永远不要使用 eval
  24. 按组件构建解决方案
  25. 将常用实用程序包装为 npm 包
  26. 分离 Express 的“应用程序”和“服务器”
  27. 使用环境感知、安全和分层配置
  28. 区分操作错误和程序员错误
  29. 仅使用内置 Error 对象
  30. 集中处理错误,而不是在中间件中
  31. 当发生未知的致命错误时正常退出进程
  32. 使用成熟的记录器来提高错误可见性
  33. 使用 APM 产品 (sentry.io) 发现错误和停机时间
  34. 捕获未处理的承诺拒绝
  35. 快速失败,使用专用库验证参数
  36. 使用 ESLint
  37. 正确分隔语句
  38. 优先使用命名函数,而非匿名函数。所有函数,包括闭包和回调函数,都要命名。避免使用匿名函数,因为它有助于分析。
  39. 通过文件夹来引用模块,而不是直接引用文件
  40. 要求在每个文件的开头、任何函数之前和外部都放置模块
  41. 使用 linter 检测代码问题
  42. 使用静态分析工具定期重构
  43. 避免使用 Node.js 加密库来处理密码,请使用 Bcrypt
  44. 防止恶意的 RegEx 导致单线程执行过载
  45. 不要阻塞事件循环
  46. 使用“node”命令引导,避免使用 npm start(在容器环境中)

注意:如果您想更新此列表,请发表评论,我会采纳您的更改。

参考:https:
//github.com/goldbergyoni/javascript-testing-best-practices
https://github.com/ryanmcdermott/clean-code-javascript
https://github.com/goldbergyoni/nodebestpractices
https://github.com/RisingStack/node-style-guide
https://github.com/DrkSephy/es6-cheatsheet

鏂囩珷鏉ユ簮锛�https://dev.to/nirajkvinit/javascript-node-best-practices-2i4d
PREV
Twitter 机器人会生成带有您的引言的图像!
NEXT
让我们用 Python 制作一个 Twitch 机器人!