50万行代码的项目如何去读经验分享

开发 项目管理 前端
换过几次工作的程序员员一般都比较头疼,新到一个公司,会给你一个项目,别人以前写的,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. IT项目管理的需求管理如何做到更好
  2. 大项目的思考:不要让框架成为团队创新的杀手
  3. 一个糟糕透顶的自由职业者项目
  4. 12个项目管理成功的关键原则
  5. 高手支招 软件项目过程管理经验分享
责任编辑:陈贻新 来源: 木耳的博客
相关推荐

2019-04-19 13:01:12

Java代码库Go代码移植

2021-03-02 13:56:24

Linux 5.12代码驱动

2018-04-03 09:09:05

2019-01-03 09:29:15

Linux 系统 数据

2009-07-21 08:44:14

微软Linux内核开源操作系统

2012-07-23 09:58:50

代码程序员

2015-09-01 16:26:18

Linux内核

2020-05-27 14:10:50

代码开发工具

2009-07-21 08:51:33

微软发布Linux设备微软开源虚拟化

2011-05-06 09:25:56

海量代码

2021-05-24 11:05:53

代码开发Go

2021-05-20 10:00:56

Go代码Python

2009-08-20 16:34:50

Linux源代码红帽Linux内核

2024-03-13 15:48:43

2018-10-15 09:20:08

代码软件工程师

2023-06-28 14:18:06

2017-03-23 14:07:55

代码程序员

2020-02-24 16:27:19

开源大数据计算引擎

2019-09-10 09:06:01

MySQL经验数值黄金铁律

2022-06-25 21:22:30

编程Rust代码
点赞
收藏

51CTO技术栈公众号