开发约定 · 项目开发阶段
- 对于一个协作团队,项目开发尽可能采用统一的技术栈,门槛越低越好,依赖越少越少。Web 组当前主要使用 TypeScript(前端 JavaScript / 后端 Node) + Vue(前端)。
- 通过工具保证代码风格统一。这里使用 ESLint + Prettier。
- 使用必要的工具提升开发效率。WebStorm(编写代码)、TablePlus(数据库操作)、SSH Tunnel(SSH 代理管理)、Surge(智能代理及抓包)、SourceTree(Git 管理);更多常用工具可 参看这里。
- IDE 及其他工具的选择尽量保证开箱即用,且尽可能低的上手门槛和学习曲线;研发人员的精力应放在研发本身而非纠结工具使用。
- 遵循协同工作的约定。参看 《开发约定 · GitHub 协作》。
- 一切皆有上下文。编写的代码应做到让没有编程基础的人类也能够轻易理解,IDE 能够认出所有的对象、方法类型,函数方法在 IDE 中能够正常跳转,能够安全地使用 IDE 的 Refactor 功能。对于不易直接理解的逻辑,应加以必要注释说明;对于外部依赖逻辑、业务产品设定,应附上相关链接以便自己和他人能够快速查看。总之,做到以项目代码为入口,浏览者可以得知该项目相关的一切逻辑。
- 无敏感信息。敏感的密钥信息不能在版本控制中出现,此外,协作成员本地化的信息也不应在版本控制中出现。