相信一些同学在进入下一家公司接收项目, 或者研究他人代码的时候, 都有一种没有头绪的感觉, 那今天我就稍微总结一下前人的经验.
1.工具:
a. 有一个UIViewController+Swizzled.h文件,大家可以搜一下github上有.
导入到项目中,并且在pch文件中import. 在xcode调试区域会输出当前模拟器显示界面所在的controller.
这样你就会清楚项目的运行顺序.
b. reveal,这是一个很好用,可以观察项目UI层级工具; 如果你的机器越狱了,甚至可以看手机中app的UI层级(不过网上的文章有的已经过时,容易崩,记得真机reveal的时候备份一下手机中数据,去念茜最新的blog,下面有一个评论链接--->应该可以借鉴避免崩溃)
2.方法(转载http://www.zhihu.com/question/21186887 冯东的答案):
阅读代码有两种模式:top-down 和 bottom-up。
Top-down 模式,就是先设定一个 use case,比如说打开一个文件。然后静态跟着代码看,或者用 debugger 跟着看。每次出现函数调用的时候,把函数的执行层次纪录下来。大致如下:
func1( )
func2( )
func( )
func3( )
这种图表很随意,你可以根据自己的需要增加信息。比如我有时会把重要的「实际参数」一直标下来,这样阅读深层次代码不用再回头查形式参数到底指什么。这个图的基本作用是防止在阅读深层次代码时忘记总体执行层次。
Top-down 模式进行到一定层次,往往会发现虽然图画了出来,但还是无法了解程序再干什么。这时需要转入 bottom-up 模式,一直深入到最底层,给能了解作用的底层函数一个一个的写文档。当然这时的文档是完全底层的观点。
然后就是不断在两个模式之间转换,不断的细化两种模式的理解。
网友评论