如何快速有序地接手一个项目

如何快速有序地接手一个项目


2019-09-11
development

见过一些人在接受一个老项目后,开始阅读~~~~一行一行代码,终于3个月后熟悉了整个项目。

软件开发生涯中,一定会遇到一只拦路虎『老项目』,循此规蹈此矩,你可能真的可以骑着『老虎』前进。

一切拦路虎都是纸老虎

情报收集

既然是老项目,最大的特质就是陌生,面对陌生的事物,切不可着急下手,第一步须收集各种情报,让这个项目在脑子里更立体,更形象。

情报来源-产品相关

产品体验(前后台)、历代产品迭代文档、相关产品人员沟通等,通过这些手段明确:

  1. 产品功能,目标用户,竞品和对标产品
  2. 体验中根据经验勾勒出来的大概的代码设计
  3. 需要研发经常介入的操作
  4. 历史上出现过的重大bug,常现bug
  5. 产品人员对之前研发的评价

情报来源-技术相关

之前负责人的交接文档,研发产出的设计文档,开发文档,对接文档,可能至少有2周时间和之前负责团队进行交接,通过这些手段明确:

  1. 主流程图,框架图
  2. 设计细节:分库,
  3. 技术框架、第三方类库,
  4. 组件及用途:mysql redis kafka nginx 等
  5. 第三方服务:推送等文档
  6. 流程上下游:前端,大数据等
  7. 你对交接人的评价

如果上述不能给出,需要自己根据产品相关和下面的情报自己整理。

情报来源-代码和环境

到此『纸老虎』的框架已经出来了, 再来把血肉给拼接上。可以开始分模块阅读手上的代码,同时让运维同事把线上环境各项配置罗列出来,最后需要明确:

  1. 线上环境配置:硬件配置,软件配置
  2. 线上机器压力和波峰波谷情况
  3. 自动任务crontab,常驻任务
  4. 上线流程
  5. 涉及代码异构,和上下游交互明细,redis key,restful api文档
  6. 熟悉单元测试
  7. 索要所有的证书,凭证,密码等
  8. …待续

情报处理

有了如上手段和目标,就可以着手整理属于自己的认知文档了(不同项目可能步骤有不同)。

See Also

沪ICP备2022013452号-1