# RTFSC
Read The Fucking Source Code
随着做Android开发时间越来越久,看别人的文章博客对自己的收益越来越少,以前看10篇文章,可能9篇对自己有用,后来慢慢减少,8 7 6..1 。
再加上现在国内的风气不好,标题党特别多,质量好的文章太少,在茫茫文章中获取有用信息变得越来越困难。
投入与回报不成比例,所以需要换一种方式去学习。
现在我更推荐看书以及阅读源码。
相对于看文章,看书有利于系统的学习,看源码的好处更是多多。
书也是有好有坏,关于书籍,我有一个记录读书笔记的项目ReadingNotes,记录读书笔记,也有些扩展,对书籍也有一个相对比较客观的评价,或许可以帮到你,这里就不多说了。
『所有的知识其实都来自源码』是我最深的感悟。
通过阅读源码,对知识点的掌握不再流于表面,而能够做到知其然以及所以然,极大地提升判断力,不再人云亦云。
阅读源码还能极大的扩大知识面,通常在阅读源码的时候你会发现很多你根本不知道,或者看文章博客根本不会获取得到的知识,经常会遇到各种『彩蛋』。
Android 源码是学习设计模式的最佳途径之一,Android 团队遇到的坑,比我写过的代码还多,Android 源码中到处可见设计模式的影子,阅读它,可以加深对设计模式的理解。
好处绝不止我所说的,自己去体会。
Android 源码的查看一般有以下几种方式:
- 在在线网站上查看,如:grepcode,androidxref
- 获取Android Framework源码查看,clone frameworks_base ,在 Mac 端可以使用 Sublime 配合 CTAG 查看。
- 使用 AndroidStudio 看
取合适自己的。
源码数量庞大,如果漫无目的地去阅读很容易迷失自己,所以阅读源码要有一定的技巧。
- 要有明确的目标,带着问题阅读源码
- 由浅入深,一步一步来
比如针对某一个问题去查看源码,eg. invalidate
和 postInvalidate
的关系与区别是什么?
这样有目标性的去寻找答案,才不容易迷失。
另外阅读源码不是容易的事情,可以从简单的类开始阅读,培养阅读习惯以及技巧,增加信心,再一层一层深入,不宜在刚开始就非常深入,这样容易打击自信,甚至开始『怀疑猿生』。
另外这些资料可能对你有帮助:
最初,其实我是想一个人默默的啃源码,不过后来有人想要加入,所以现在开放加入。
如果你有兴趣加入,请先看看条件。
- 绝对不能是伸手党
- 有上进心,认真,爱学习
- 最好有写博客文章的习惯
- 有爱心,愿意互相帮助
- 严肃认真对待此事
如果你觉得你差不多符合条件,并且有兴趣加入,那么看下去吧。
- 加入 Github 组织,提 issue 留下意向,github 昵称或者邮件,以及博客地址,我看到验证后会发送邀请。
- 加入 Tower,我正在使用 Tower 作为源码阅读的计划与管理工具,感觉挺不错的,也方便查看成员的计划与动态,有兴趣的点邀请链接。
- 加我微信。
如果来到这里,你有所收获,并且想要回馈的话,那么非常欢迎去这里捐助,记得留下名号,不盛感激。
不欢迎并拒绝任何形式的全文转载!
其他还在考虑。