项目指南:写给 JavaScript 团队的工程规范手册
文章目录项目指南写给 JavaScript 团队的工程规范手册开发新项目很爽维护才是噩梦涵盖哪些内容代码风格和强制执行这份指南适合谁项目指南写给 JavaScript 团队的工程规范手册elsewhencode/project-guidelines 这个仓库在 GitHub 上有 29,458 个 Star。它不是框架不是工具库不是脚手架。它是一份文档专门回答一个问题JavaScript 项目该怎么组织才能让第二个人接手的时候不骂人。开发新项目很爽维护才是噩梦每个写过代码的人都有过这种经历项目初期进展飞快功能一个接一个往上加目录结构随心所欲commit 信息写得像日记。三个月后回来改 bug发现看不懂自己写的代码找不到文件在哪git log 里全是 “fix” 和 “update”。这个仓库就是来解决这类问题的。它由 elsewhen 团队整理把他们在多个 JavaScript 项目中积累的经验写成了可执行的规范。不是理论文章是直接拿来用的清单。涵盖哪些内容整个指南分成 11 个部分每个部分都是一个独立的工程实践领域。Git 工作流部分规定了分支策略功能开发在 feature branch 上进行从 develop 分支拉出完成后通过 PR 合并。它还详细说明了 rebase 的用法、commit message 的格式要求比如主题行不超过 50 个字符使用祈使语气正文解释做了什么和为什么而不是怎么做。环境管理部分强调配置与代码分离。环境变量通过 .env 文件管理.env 本身加入 .gitignore只提交 .env.example 作为模板。生产环境的配置不写死在代码里用环境变量注入。依赖管理部分有一套筛选流程用一个包之前先看下载量再看维护者数量和版本发布频率不熟悉的包先和团队讨论。定期跑 npm outdated 检查更新用 Snyk 扫描已知漏洞。测试部分要求测试文件放在被测模块旁边文件名用 .test.js 或 .spec.js 后缀。写可测试的代码避免副作用提取纯函数。PR 提交前必须在本地跑通测试。目录结构部分反对按角色controllers、models、services组织文件主张按功能模块组织。一个功能的所有相关文件放在一起包括它的测试。代码风格和强制执行代码风格部分推荐使用 ESLint参考 Airbnb JavaScript Style Guide。不是建议是强制把代码风格检查嵌入构建流程构建不通过就不让提交。它还建议使用 .editorconfig 文件统一编辑器配置用 Prettier 配合 precommit hook 自动格式化。这样团队成员不管用什么编辑器出来的代码风格都一样。这份指南适合谁在 JavaScript 团队里工作、需要统一工程规范的人。刚接手一个项目、想快速建立开发流程的人。或者单纯想看看别人家团队是怎么做工程化的都可以翻一翻。它不教你写代码它教你把写代码这件事变得可控。么做工程化的都可以翻一翻。它不教你写代码它教你把写代码这件事变得可控。