如何快速熟悉新项目?

196 阅读2分钟

开发经常会遇到下面这三种情况:

  1. 入职新公司
  2. 人力支持陌生项目
  3. 同事离职,任务交接

那么如何熟悉新项目?如何快速上手呢?

下面是自己总结的一些经验,主要从业务、技术、实践三个角度来梳理,仅供参考,适合自己的才是最好的。

业务驱动技术

了解产品定位、业务需求、核心流程是第一要务。主要是通过产品文档、需求文档、设计文档等来了解以下问题:

  1. 为什么做这个产品?
  2. 解决了什么问题?
  3. 目标用户是谁?
  4. 产品边界是什么?
  5. 上下游有哪些产品?
  6. 有哪些业务模块?
  7. 各业务模块之间是什么关系?
  8. 核心业务流程是什么样的?
  9. 业务数据是如何流转的?

技术服务产品

技术就是产品的具体业务需求落地。主要是通过应用架构、技术架构、数据库 ER 图、接口文档等来了解以下问题:

  1. 有哪些子系统或模块?
  2. 各子系统或模块的职责是如何划分的?
  3. 各子系统或模块提供什么功能?
  4. 依赖哪些基础服务设施?如:配置中心、注册中心、统一网关、日志平台、监控平台等
  5. 使用哪些技术栈?如:开发语言和框架、数据库、中间件等
  6. 各子系统和模块之间如何交互?如: HTTP、RPC、MQ 等
  7. 代码结构采用的分层模式?如:传统三层架构、DDD 等
  8. 有哪些开发规范?如:代码可读性规范、Git 分支模型、 Git 提交规范、版本号管理规范等
  9. 如何发布或部署?如:单机、集群、分布式、容器化、自动化、网络分区等
  10. 如何实现高可用?如:负载均衡、自动扩容、限流、熔断、降级等

实践推动理解

看一百遍,不如实际操作一遍。

  1. 搭建开发环境,如开发语言、数据库、中间件、 Maven 私服、Git 账号等
  2. 本地构建项目服务,并启动成功
  3. 查看接口文档,测试通过几个不同类型或业务接口,熟悉数据来源和数据输出
  4. 结合实际场景,Debug 核心业务完整的处理流程
  5. 查看项目日志或 Git 提交历史,了解最近更新的功能,修复的 Bug 等,如果交给自己会如何做?
  6. 从小任务入手,先认领简单的功能开发或 Bug 修复
  7. 循序渐进

总结

  • 主动沟通,是提高效率最快的方式。
  • 边学边做,能更快了解业务和代码。
  • 总结沉淀,找到适合自己的方法,才是最有效的。