如何快速阅读和更新老项目的代码

如何快速阅读和更新老项目的代码?

1.首先应具有平和的心态

面对"前人"遗留下来的项目,难免会产生迷茫。迷茫来自“前人人”,又因“自己”而不断迭代。

  • 没有项目文档、没有架构图、没有开发log甚至单元测试也没有多少,对一个不熟悉相关业务的人来说,接手一个这样的项目确实是很难很难。
  • 但是,既然项目已经到了自己手上,那就不必过多地抱怨前人了;当年项目从无到有从零开发的时候,境地未必比你好。

要知道,你所面临的迷茫,是所有研究人员必然经历的。有人领路,总好过盲目地摸索

如果你已经下定决心要上手阅读和更新这个老项目了,那么从现在开始,需要做的是培养自己的工程思维,提高自己的工程能力。

2.工程思维

坚信三点:

2.1. 一个复杂的东西一定是由几个简单的东西通过接口拼接而成

如果搞明白了每个简单的东西的接口,那么就明白了复杂东西的内部实现。

2.2.一个复杂的东西,之所以被创造,一定是为了解决特定的问题

那么用这个项目,来解决这个特定问题的时候,一定提供了简单的接口去供人使用。

2.3.要解决的特定问题,一定能用简介的几句话来概括

如果还概括不出来,这说明还没有彻底明白要解决的问题是什么,更谈不上理解项目了。

3.阅读与更新

3.1 搜集相关的资料
  • 先寻找,前人留下来的资料,前人发表过的论文
  • 再寻找,类似的项目的开发资料
  • 当然,项目的三方库,开发框架是需要掌握,或者说需要时能够通过工具查找到并解决的。
3.2 把项目跑起来

运行软件,试试各个功能

  • 不能运行时,根据报错debug,写文档记录

尝试功能后,再根据已知来对应项目代码的具体实现

  • 掌握各个行为和这些行为的命名,对其各个击破
  • 与代码中的输入、参数、输出做好对应
3.3 梳理架构

梳理主要行为的主干流程
梳理各大模块的依赖关系
方法:

  • 加断点调试
  • 画流程图、序列图和模块图(有能力的话)
  • 把自己的阅读记录,整理成README,提交到代码库(更有能力的话)
  • 编写测试用例(方便后来人)
3.4 更新项目

在有备份的前提下对项目进行更新,添加或修改其功能

  • 这个过程也有利于3.3的梳理
  • 进度要求比较紧的话,可以边梳理边修改,虽然会遇到很多坎儿, 但是进步也会是很快的

可以应用GitHub或者内部搭建一个开源的项目管理工具,将更新的版本、遇到的漏洞、功能缺失都记录下来

以提升自己为目的,可以在完成任务的前提下,尝试重写、重构该项目。

最后

特别鸣谢孟佳明,在我迷茫的时候给予了真挚而有效鼓励和建议!

也希望看到这篇文章的你,能够有所收益,快速阅读和更新难搞的老项目。

你可能感兴趣的:(一些理解)