新进公司,怎样学习庞大的项目代码以便尽快投入工作?

我也是今天新加入到公司里另一个团队的,跟进一个新公司差别不大,因为之前也没怎么看过他们的代码。今天 checkout 下来我们项目的代码后,我也在想该干些什么好呢?不然坐在这里光盯着代码,点点鼠标,很容易犯困啊!后来我自己尝试着带着目标去读代码,读的同时还要输出,效果明显不一样,唯一不太好的就是因为证书问题,导致我电脑上的代码没办法运行,只能看代码/(ㄒoㄒ)/~~我就简单说说我的几点想法吧:1.带着目标去读代码,没有目标的话,相信我,你很容易打瞌睡的,目标可以是列出架构图,也可以是列出项目中的各功能模块对应的核心类,总之,给自己定个目标,最好写下来。2.跟读开源代码一样,先要尝试看懂大概的架构,就好比一本书的目录、一篇文章的大纲,如果原来的项目本身就管理的很清晰的话,你看起来也不会太费劲。3.从程序运行的起点入手,比如 Objective-C 里面的 main 函数,打断点,一步一步查看函数的调用关系。4.设想自己等会就要加一个新功能或者改一个 bug,这个时候,你可以回想一下你以前写代码时要做什么(假设你是 Android 程序员),你要知道这个功能(或者 bug) 跟哪个类有关系吧,然后你得知道项目中有哪些已经写好、封装好的类吧,是否涉及到文件存储、网络请求呢?这个时候你可以看看项目中的老代码是怎么用的吧,按着这个思路,这些你都可以尝试去探索一下,可以把这个项目当成你以前自己写的项目来对待。5.跟代码本身关系不大的一些东西也需要了解一下,比如 API 文档和规范、开发文档、代码规范、workflow,有 README 最好了。6.碰到有问题的地方,把问题想清楚,列出来,等同事有空的时候去咨询一下。7.最后,以移动端为例,我简单列一个读代码时需要了解的清单吧:主体架构(是 MVC、还是 MVVM、或者其他)、网络层、数据层、基类主要业务模块主要功能点(比如直播、webView、埋点、跳转处理)第三方类库基础组件、基础库、工具类第三方 SDK能想到的大概就是这些,希望能够帮助到大家!也希望多听听大家的想法!
■网友
从具体的业务入手,最好是先从改Bug开始
■网友
少上多做事


    推荐阅读