能把项目从 0 推到 1 的,往往不是高深架构,而是几个朴实无华的工程习惯。以下技巧均来自一线踩坑总结,可直接落地。
1. 先让主线跑通,再考虑扩展
不要一上来就设计“支持千万并发”的架构。先用最笨的方式实现核心流程,确保端到端能跑通。主链路通了,再针对瓶颈优化。过早拆分微服务、过早引入缓存,只会增加调试成本。
2. 提交前,自己先点一遍
在 git push 之前,至少在本地把主要功能手动跑一遍。养成习惯:commit 前执行 git diff,确认没有带入调试代码(如 console.log、死循环、测试账号密码)。不要把低级错误推给同事或测试去发现。
3. 配置必须外置
数据库地址、第三方密钥、文件路径等,全部抽离到环境变量或独立配置文件中。代码库里只留模板(如 config.example.yml),真实配置永不入库。一次密钥泄露的代价,远高于写几行读取环境变量的代码。
4. 日志打印上下文,而不是只打印结果
坏的日志:请求失败。
好的日志:订单创建失败,orderId=12345,原因:库存不足,userId=67890。
保留关键业务 ID,出了问题才能快速串联全链路。
5. 接口约定优先于代码实现
前后端并行时,先花 10 分钟对齐接口路径、参数名、返回结构,并写成简单的 Markdown 文档。比各自写完后联调发现字段对不上,再返工两小时要高效得多。
6. 数据库变更走脚本
任何表结构修改、索引添加,都写成可重复执行的迁移脚本(如 Flyway、Liquibase,或按时间戳命名的 .sql 文件)。严禁直接连生产库手动执行 SQL。本地、测试、生产的数据库状态必须保持一致。
7. 异常不要吞掉
捕获异常后,要么处理,要么抛出。最忌讳 try-catch 里只写一行日志甚至为空。如果用户看到的是“系统繁忙”,那开发环境必须能看到具体堆栈,否则定位问题纯属猜谜。
8. 保持环境一致性
尽量让开发环境的中间件版本(MySQL、Redis、Nginx)与生产一致。如果本地用 Windows,生产用 Linux,至少核心服务用 Docker 统一。绝大多数“本地好好的,上线就崩”都源于环境差异。
小结
项目开发没有银弹,但把上述几条做到位,至少能避开 80% 的工程泥潭:代码可回滚、问题可追溯、协作不扯皮。