换过几次工作的程序员员一般都比较头疼,新到一个公司,会给你一个项目,别人以前写的,40-50万行代码,并且代码没按照一定的规范去写,因为这个代码来自N 个人,一看代码我就头大,我曾经就做过这样的事情,开始的时候也很抓狂,但是慢慢的我认为我找到里面的窍门了,一下算是我给大家提供的一个思路吧。(我之前跟的那个项目是 B/S的,所以是针对B/S写的)
1.看操作说明书
目的:这个项目是干什么的?
任何一个项目都有他要实现的功能,而操作说明书就是告诉你怎么去用它,怎么去操作这些代码,这些代码提供了一个怎样的服务。如果你进到一个比较正规的公司的话,会有测试的,有些操作你操作不了,可以求助测试人员,以为他们是公司里面最熟悉这些操作的。尽可能熟练的去操作这些功能。
小结:我在做开发的时候,功能比较多,所以只看了一部分功能,原因是我没时间,所以自己在看这部分的时候,如果时间不够,大体上把握即可。
2.看框架
目的:这个项目是什么架构?
任何一个项目都有自己的架构,自己的模式,自己尽量去看代码结构,有可能你感觉很难,因为代码太多了,所以不要气馁,要给自己心里暗示“自己是可以的”。
小结:如果看不懂也没关系,可以先做下面的, 我之前所看的代码,我根本看不懂,后来很长一段时间,同事告诉我“软件框架”,任何模式都可以很好的进行开发。
看的时候肯定会遇到自己没见过的代码,不用去管它。
3.跟代码【核心】
目的:每个方法是干什么的?先执行那个?在执行那个?
找一个小的模块,这把片代码彻底看懂。这个时候你需要的就是跟代码了,打断点;如果是B/S的,你可以再加脚本调试debugger。
告诉你一个小窍门:当跟代码的时候,旁边放一张纸,遇到主要的方法,要记下来,从头到尾记下来,等跟完了自己可以拿这张纸进行复述。这样这个功能大概怎么跑的你就记下了。跟的时候遇到的方法一定要记下来,但是跟的时候一定不要去查,等跟完了在去查。如果是由于自己知识点的原因,应马上彻底补上来。
小结:这个是核心,一般人只是跟不记,等一下自己就不知道自己会那些,不会那些,大概怎么跑的都不知道了。所以一定要记。比如我之前开发全部是用户控件,很抓狂,你根本不知道那个方法先加载,那个页面需要参数,但是你把它画出来了,一点点看下来了,感觉很有意思。
4.画图
目的:如果一个页面有2个用户控件你是需要画图的,这样做可以让你一眼看到页面的布局,防止你下次看代码的时候,找不到那是那。那个页面调用哪个方法最好也写上。当我在拿到这张图的时候我可以复述多少?当你在修BUG的时候可以用这张图。
当你跟完代码之后,你肯定知道哪里是哪里了,这时候你就用纸把这个页面的图片画下来,最好是不看代码画,等画完了,在看代码,看自己是否真的了解逻辑来。
小结:这一步跟第三步可以同时进行。 如果你跟感觉很吃力,可以多跟几次,重复3,4步,一般跟3遍就大概掌握这片代码的逻辑。
我现在面对的问题是:大的代码结构我都能看懂,但是我不知道业务,那就的好好听了,用眼睛用心去听就可以了,没有别的办法了。
以上是本人在看代码的时候一些总结出来的思路,大家谁有好的方案可以那出来一起分享。