你该如何去阅读拥有海量代码行的项目

开发 项目管理
如果你是一个拥有多年经验的程序员,一定会碰到几十万代码行的项目。如何去理解和读懂这些代码,其实有其技巧。学会这些,你距离项目经理的路会更近一些。

导读

换过几次工作的程序员一般都比较头疼,新到一个公司,会给你一个项目,别人以前写的,40-50万行代码,并且代码没按照一定的规范去写,因为这个代码来自N个人,一看代码我就头大,我曾经就做过这样的事情,开始的时候也很抓狂,但是慢慢的我认为我找到里面的窍门了,一下算是我给大家提供的一个思路吧。(我之前跟的那个项目是 B/S的,所以是针对B/S写的)

1.看操作说明书

目的:这个项目是干什么的?

任何一个项目都有他要实现的功能,而操作说明书就是告诉你怎么去用它,怎么去操作这些代码,这些代码提供了一个怎样的服务。如果你进到一个比较正规的公司的话,会有测试的,有些操作你操作不了,可以求助测试人员,以为他们是公司里面最熟悉这些操作的。尽可能熟练的去操作这些功能。

小结:我在做开发的时候,功能比较多,所以只看了一部分功能,原因是我没时间,所以自己在看这部分的时候,如果时间不够,大体上把握即可。

2.看框架

目的:这个项目是什么架构?

任何一个项目都有自己的架构,自己的模式,自己尽量去看代码结构,有可能你感觉很难,因为代码太多了,所以不要气馁,要给自己心里暗示“自己是可以的”。小结:如果看不懂也没关系,可以先做下面的, 我之前所看的代码,我根本看不懂,后来很长一段时间,同事告诉我“软件框架”,任何模式都可以很好的进行开发。看的时候肯定会遇到自己没见过的代码,不用去管它。

3.跟代码【核心】

目的:每个方法是干什么的?先执行那个?在执行那个?

找一个小的模块,这把片代码彻底看懂。这个时候你需要的就是跟代码了,打断点;如果是B/S的,你可以再加脚本调试debugger。告诉你一个小窍门:当跟代码的时候,旁边放一张纸,遇到主要的方法,要记下来,从头到尾记下来,等跟完了自己可以拿这张纸进行复述。这样这个功能大概怎么跑的你就记下了。跟的时候遇到的方法一定要记下来,但是跟的时候一定不要去查,等跟完了在去查。如果是由于自己知识点的原因,应马上彻底补上来。

小结:这个是核心,一般人只是跟不记,等一下自己就不知道自己会那些,不会那些,大概怎么跑的都不知道了。所以一定要记。比如我之前开发全部是用户控件,很抓狂,你根本不知道那个方法先加载,那个页面需要参数,但是你把它画出来了,一点点看下来了,感觉很有意思。

4.画图

目的:如果一个页面有2个用户控件你是需要画图的,这样做可以让你一眼看到页面的布局,防止你下次看代码的时候,找不到那是那。那个页面调用哪个方法最好也写上。当我在拿到这张图的时候我可以复述多少?当你在修BUG的时候可以用这张图。

当你跟完代码之后,你肯定知道哪里是哪里了,这时候你就用纸把这个页面的图片画下来,最好是不看代码画,等画完了,在看代码,看自己是否真的了解逻辑来。

小结:这一步跟第三步可以同时进行。 如果你跟感觉很吃力,可以多跟几次,重复3,4步,一般跟3遍就大概掌握这片代码的逻辑。

我现在面对的问题是:大的代码结构我都能看懂,但是我不知道业务,那就的好好听了,用眼睛用心去听就可以了,没有别的办法了。

以上是本人在看代码的时候一些总结出来的思路,大家谁有好的方案可以那出来一起分享。

原文链接:http://www.cnblogs.com/muer/archive/2011/05/02/2034448.html

【编辑推荐】

  1. 项目经理的力量应该从哪里来?
  2. 新手软件项目经理该如何入门
  3. 软件项目管理总体流程设计
  4. 软件开发中项目管理的注意事项
  5. 如何在项目管理中减少团队的启动时间
责任编辑:彭凡 来源: 博客园
相关推荐

2011-05-03 09:10:12

项目管理程序员

2023-12-29 08:17:26

Python代码分析Profile

2021-03-18 07:52:42

代码性能技巧开发

2019-07-12 10:20:45

海量数据搭建

2019-07-15 16:02:30

大数据数据分析舆情系统

2016-10-11 16:28:11

源代码

2021-08-30 08:13:41

设计系统化用户

2011-07-19 11:35:09

linux网络协议

2023-07-31 08:02:28

2022-08-15 18:22:22

JS代码

2022-06-21 07:41:08

FCPJS代码

2021-01-24 16:00:22

Ansible系统运维

2021-10-26 10:30:31

代码编辑器LinuxVS Code

2020-04-23 16:04:25

代码编辑器工具程序员

2020-05-26 21:09:16

码农插件开源

2023-02-06 21:58:23

2019-11-15 15:50:41

JS代码React前端

2017-07-14 09:13:53

2012-10-10 08:44:18

NativeWebHybrid

2019-03-24 14:14:40

代码阅读源代码
点赞
收藏

51CTO技术栈公众号