接手新项目如何快速掌握和扩展

https://blog.csdn.net/wantgoworld/article/details/695633    原文

 

如何读项目代码

 

当我们学习程序编码时,首先会看一些程序代码例子,然后学例子去修改编写代码;当我们刚进入一个公司,公司会把要维护修改的项目分给我们,让我们修改维护,要想修改编写,首先要读懂项目主要程序;当我们去看一些优秀的开源项目,想从中学习这些项目的设计思想时,我们也要去看项目代码…如此等等,可以说读代码是为了写代码,写出非常优秀的代码。因此对于程序开发人员来说,快速阅读项目代码是一个必需要掌握的能力。前段时间,我接手了一个java applet做的系统,公司要求我参阅这个项目重新做一个Demo,在读这个系统代码时,我积累了一些关于读项目代码的心得体会,主要内容如下。
清楚主要功能 想一想如何实现 首先要清楚项目的主要功能,知道它主要是干什么用的,才可能从总体上去把握项目。可以通过向公司同事或其他人请教、或查阅项目需求分析文档,概要设计文档来快速获得项目主要功能,如果没有这些文档,可以在网上搜索项目的功能,如果以上这些都没有条件的话,那只有把此项目运行起来,通过自己的实际操作来得到项目的主要功能了。清楚项目主要功能后,自己首先想一想,如果让我做,该如果去实现呢,这样能够得到对自己来说的技术难点,读源代码时会更留意这些内容,效率也就提高上去了。
运行项目 找到实现主要功能的代码 清楚主要功能以后,就可以去读实现主要功能的代码了,当然还需要找到这些功能是在那些文件,那些类来实现的。为了找到实现类,我们还要把项目运行起来,依据项目类型及特点,通过不同方法找到实现类代码。把这些文件记录下来,随后只需重点看这些文件中的代码,就可以了。
依据代码的类层次关系 了解项目体系结构 通过其他一些工具把这些代码的类图导出来,比如(rational rose或powerdesigner的逆向工程),如果是Java项目还可以导出Javadoc。依据导出的内容,了解每一个主要实现类的大致功能,及这些类之间相互关系,这样也就清楚了项目的类层次结构,即项目体系结构。
清楚项目主要实现技术 依据导出的类图和对项目了解的疑点,如果是技术方面,比如自己不知道或不清楚该怎么实现某种功能,那就赶紧参照源代码,找到项目主要实现技术。如果对此技术不熟悉,那就快快在Baidu或Google上面搜索一把,ok,一定会很多关于此技术的资料等着你去看呢,抓紧阅读这些资料,尽快掌握此技术的内容。
调试主要实现类,从中了解实现细节 了解了项目的体系结构,并清除项目主要实现技术后,下一步就是看实现细节了。看实现细节,也是从整体到局部,从看各个方法声明出发,在逐步看每个方法体。当然没有必要每个方法都要去一行一行看,只需重点看与实现此类主要功能的核心方法。对某些代码看过一两编后,还是很迷茫的话,没有关系,调试一把,看看它终究是有何作用。调试有很多中,最终要的是一步一步跟踪,但是有些语言编写的代码很难用这种方式做,比如(javascript或applet),那就把一些重要的变量输出出来。了解了主要功能代码的主要方法后,可以基本上说我们已经看懂了项目的代码,把握了项目的整体架构。
修改代码来满足自己需求 看懂了项目代码,最后一步就是根据需要,来修改项目代码,满目我们的需要了。
以上就是我在看项目代码中的总结,当然,如果项目非常功能很少,没有使用什么复杂技术的话,了解体系结构和清楚项目主要实现技术就可以跳过了,根据实际,直接需要去看源代码就可以了。以上内容如果对你有用的话,我会非常幸福的,祝你好运!

---------------------------------------------------------------------------------------
https://blog.csdn.net/wantgoworld/article/details/695633 原著地址

废话不多说 先把他的话我复制下来 再洗洗讲解

当我们学习程序编码时,首先会看一些程序代码例子,然后学例子去修改编写代码;当我们刚进入一个公司,公司会把要维护修改的项目分给我们,让我们修改维护,要想修改编写,首先要读懂项目主要程序;当我们去看一些优秀的开源项目,想从中学习这些项目的设计思想时,我们也要去看项目代码…如此等等,可以说读代码是为了写代码,写出非常优秀的代码。因此对于程序开发人员来说,快速阅读项目代码是一个必需要掌握的能力。前段时间,我接手了一个java applet做的系统,公司要求我参阅这个项目重新做一个Demo,在读这个系统代码时,我积累了一些关于读项目代码的心得体会,主要内容如下。

清楚主要功能 想一想如何实现 首先要清楚项目的主要功能,知道它主要是干什么用的,才可能从总体上去把握项目。可以通过向公司同事或其他人请教、或查阅项目需求分析文档,概要设计文档来快速获得项目主要功能,如果没有这些文档,可以在网上搜索项目的功能,如果以上这些都没有条件的话,那只有把此项目运行起来,通过自己的实际操作来得到项目的主要功能了。清楚项目主要功能后,自己首先想一想,如果让我做,该如果去实现呢,这样能够得到对自己来说的技术难点,读源代码时会更留意这些内容,效率也就提高上去了。

运行项目 找到实现主要功能的代码 清楚主要功能以后,就可以去读实现主要功能的代码了,当然还需要找到这些功能是在那些文件,那些类来实现的。为了找到实现类,我们还要把项目运行起来,依据项目类型及特点,通过不同方法找到实现类代码。把这些文件记录下来,随后只需重点看这些文件中的代码,就可以了。

依据代码的类层次关系 了解项目体系结构 通过其他一些工具把这些代码的类图导出来,比如(rational rose或powerdesigner的逆向工程),如果是Java项目还可以导出Javadoc。依据导出的内容,了解每一个主要实现类的大致功能,及这些类之间相互关系,这样也就清楚了项目的类层次结构,即项目体系结构。

清楚项目主要实现技术 依据导出的类图和对项目了解的疑点,如果是技术方面,比如自己不知道或不清楚该怎么实现某种功能,那就赶紧参照源代码,找到项目主要实现技术。如果对此技术不熟悉,那就快快在Baidu或Google上面搜索一把,ok,一定会很多关于此技术的资料等着你去看呢,抓紧阅读这些资料,尽快掌握此技术的内容。

调试主要实现类,从中了解实现细节 了解了项目的体系结构,并清除项目主要实现技术后,下一步就是看实现细节了。看实现细节,也是从整体到局部,从看各个方法声明出发,在逐步看每个方法体。当然没有必要每个方法都要去一行一行看,只需重点看与实现此类主要功能的核心方法。对某些代码看过一两编后,还是很迷茫的话,没有关系,调试一把,看看它终究是有何作用。调试有很多中,最终要的是一步一步跟踪,但是有些语言编写的代码很难用这种方式做,比如(javascript或applet),那就把一些重要的变量输出出来。了解了主要功能代码的主要方法后,可以基本上说我们已经看懂了项目的代码,把握了项目的整体架构。

修改代码来满足自己需求 看懂了项目代码,最后一步就是根据需要,来修改项目代码,满目我们的需要了。

以上就是我在看项目代码中的总结,当然,如果项目非常功能很少,没有使用什么复杂技术的话,了解体系结构和清楚项目主要实现技术就可以跳过了,根据实际,直接需要去看源代码就可以了。以上内容如果对你有用的话,我会非常幸福的,祝你好运!

----------------------------------------------分界线------------------------------------------------------------------------

因为我手底下也有一个新的项目而且,也是有很多功能在之前都没有实现过的(在下也是小白)。所以大家都白,我都不怕, 你也不需要怕。以下是我的总结

1.先看xml去 找到主APP入口, 找到之后你需要知道另一件事 就是这个项目的主要功能,

2.找到目标, 你的目标是看到你实现不了的东西。 也就是整个项目中你完成不了 或者出现问题的地方。

3.debug,调试代码 找到跳转方向 和跳转点,并且记录下来你确实不了解的地方 更加精细的DEbug 或者是注释掉在看看项目(不适用所有的项目)

4.死磕 不需要解释 一句一句解析出来(时间富裕)or知道这段函数的作用(工作比较紧) ,但是一定要回去吃透,不能记得是大概,而不是含义。

注:如果特别小白, 拿就新建一个项目 用一个空的项目去和这个项目用比较代码的软件 去查看 那些用处 (不要害怕 你不知道的东西越多,说明吃透之后这个项目对你的提升越大,尤其是在这个进步很快的时代,不会出现用不到的东西,只要你一直在学)。从build开始 查看添加依赖一步一步导入,并且查看这个依赖包的代码哪里适用了 自己要记一下然后百度搜一下 查看自己是否对自己的理解很明确。这是特别笨的方法 如果有机会去问的话 很简单 就问就可以了 找些代码的人 给你来一份文档自己理解项目用了哪些 干了什么, 然后在把不明确的地方和代码的创始人连接一下 完美搞定

说了这么多无非就是接到项目----查看项目内容----找到问题点(自己不会的知识点)----理解消化(知识点,最好写一个小demo测试)---扩展(增加项目内容)---完成-----千万别忘了复习知识点(别之后再忘记在去搜索做无用功)

转载于:https://www.cnblogs.com/hmy550370001/p/8960715.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值