应该以一种怎样的思路阅读iOS项目代码?
2016-03-17 本文已影响643人
司机王
近期换了新公司,然后接手了一个已经开发接近两三年,版本升级到4.0的老代码。接手之后,开始傻乎乎的去阅读代码,试图去理解分析代码里当时的开发者想要表达的“意境”。但是读着读着就发现了我完全不理解,这个是什么鬼,那个方法是干什么用的(虽然语法我都懂),这里怎么突然加了这么一个属性,那里注册的通知是干嘛的,怎么也不写个注释(如果我的同事看到了不要喷我 n(≧▽≦)n)?甚是头疼。
后来在知乎上看到了钟颖(https://www.zhihu.com/people/ios_dev)大神在知乎的回答,算是茅塞大开,原来大神们也是这么接触iOS代码的。
以下是钟颖Cyan的回答:
如果你想把代码完全搞懂,那恐怕你到实习结束也不能实际投入项目中。所以开始进入一个项目,特别是已经做了很多年的项目,一开始你只要摸清楚项目的整体架构和风格就好了。
在我有限的经验里面,通常进入一个老的项目是从改 bug 和界面改造开始的。然后慢慢的就熟悉了项目一些大体的设计。
以下个人习惯仅供参考:
- 浏览项目的目录结构,熟悉项目文件组织的习惯和项目的一些配置
- 多 target 的项目搞清楚各个 target 是干什么的
- 找到 delegate 看 app 怎么完成初始化的,做了哪些 SDK 的配置
- 顺着 root vc 走下去看几个常见界面的 vc,搞清楚项目使用的设计模式
- 搞清楚项目在几个常见组件上面的解决方案,比如网络通讯、数据存储、图片缓存 等等
- 看看项目用了哪些三方的库,比如 ReactiveCocoa 和 BlocksKit 这种常见的
- 看看项目有哪些约定俗成的东西,比如一些常用的工具类和扩展方法
- 看看编译脚本搞了些什么,以及在公司是如何集成编译的
- 看看项目有没有哪些地方有潜在的坑,比如做了 swizzling 的地方
原帖地址:
https://www.zhihu.com/question/37161344/answer/78156203
开始去修改BUG咯~