Android随笔随想 起源
Android随笔随想 起源
1. 杂序
1.1 不求甚解
做了几年的Android,从开始的只是会用四大组件,到慢慢的自己开始写一些稍微通用的一些东西,却总是感觉这样不是长久之计,因为很多情况下,遇到一些问题时,其实挺简单的问题,关于android开发中比较奇怪的问题,会google一下,然后一般会在stackoverflow或者google code中得到对应的答案,对着答案,直接按照对应的解法来解决就可以了,但长期以往,这肯定不能提高自己的知识深度的,只是会用了google而已.
1.2 阅读源码
Read the fucking source code
在自己的android开发旅途中,阅读源码起到了很大的作用,而且自己也有了一些提高,从开始的看看别人写的几个UI上的控件,拿过来用,到慢慢的看一些开源的框架,比如说Universal ImageLoader, Volley, Facebook的Fresco,360的DroidPlugin,以及google的图片加载Glide, 现在的状态,已经像 张三丰 问无忌孩儿的对话:
张三丰: “无忌孩儿,你还记得多少?”
张无忌: “我什么都不记得了”
当然,我的状态并不是说已经达到了出神入化,而是说,我真的什么都不记得了.就像当时在优酷,百度面试时,他们问我之前分析的Fresco,问的比较细,我不记得了,因为我只是做了分析,却没有做总结,而且也没有分析到核心的部分…
其实阅读第三方源码还是要有选择性的,开源代码类型很多,而且很多质量也是参差不齐的,最好还是阅读那些大公司开发的一些源码,并且start,fork人数多的,要不然很容易踩到坑.
不过从阅读源码中,自己得到的进步,其实并不是这些框架的实现,而是一些思维的套路,设计模式,从之前的面向过程编程,到慢慢的面对对象编程.
1.3 方法论
1.3.1 多接触优秀的人
1.3.2 不完全归纳法
1.3.3 总分总的编程思维习惯
- 模块化的编程
- 注意编程中的信息流向
- 避免跳跃的思维
- 抓取核心
1.3.4 查找问题的思维
- 问题是什么
- 问题涉及的场景
- 问题设计到哪些程序的逻辑
- 数据流量
1.3.5 学习知识的思维
- 这个技术是什么
- 这个技术能用来做什么,与其他同类技术相比,优缺点,是否有必要学习
- 技术包含哪些内容
- 制定学习计划
- 学习
- 记录笔记
- 练习
- 总结
- 分享
1.3.6 精益求精
1.3.7 多读书
书籍种类很多,专业外的不多讲
- 技术基础部分
- 思维习惯部分
个人最喜欢的思维方面的书籍:
- 程序员的思维训练: 开发认知潜能的九堂课
- 暗时间
2. 结论
2.1 学习android的源码,并且总结自己遇到的坑,以及用到的工具
上半年的计划很简单,就是学习android GUI相关的Framework源码