接手一个别人写的系统,最难的不是「看懂代码」,而是「判断哪里要改、哪里不改、改的风险多大」。 本文给出一套我们用了 50+ 个项目的 6 步评估法。
第 1 步:环境与依赖盘点(1 天)
- 操作系统、运行时版本、扩展、依赖包
- 服务器配置、域名、SSL、CDN
- 代码仓库、分支策略、CI/CD 状态
- 数据库、缓存、消息队列等中间件
第 2 步:架构与代码结构(2-3 天)
- 分层(MVC / DDD / 一锅炖)
- 模块边界、依赖方向、循环引用
- 公共组件、工具函数、第三方库
- 测试覆盖率、文档完整度
第 3 步:可观测性现状(1 天)
- 日志:是否结构化、是否可检索、保留多久
- 监控:业务指标 vs 技术指标、告警阈值
- 链路追踪:跨服务调用是否可追溯
- 备份:策略、频率、恢复演练
第 4 步:安全基线检查(1-2 天)
- OWASP Top 10 快速过一遍
- 依赖 CVE 扫描(npm audit / composer audit)
- 权限矩阵:角色、用户、最小权限
- 密钥管理:硬编码、环境变量、密钥服务
第 5 步:业务与团队上下文(1 天)
- 业务核心链路、最怕出问题的环节
- 历史故障 TOP 5、原因、修复
- 团队能力、交接文档、知识分布
第 6 步:输出《健康度报告》
综合以上 5 步,输出 3 张表:
- 健康度雷达图:代码 / 性能 / 安全 / 运维 / 业务 5 维
- TOP 10 风险清单:含影响、紧急度、修复成本
- 30/60/90 天建议:分阶段实施计划
常见误区
- 只看代码不看业务 → 改了不重要的部分
- 只看架构不看运维 → 上线后才发现备份缺失
- 只输出问题不输出优先级 → 客户无法决策
如果你也接手了「无文档、无交接、无 owner」的旧项目,提交项目体检,我们 24 小时内响应。