除了编程基础,我们还需要补充哪些能力
- 喜欢钻研的兴趣
- 良好的英语理解能力
- 善于思考和总结的习惯
- 高效率的学习方法
- 能够机智地利用Google搜索
- 善于利用工具
- 和现实事物关联类比的能力
- 对待问题的态度
1.喜欢钻研的兴趣,尽管高级编程语言的出现让我们将精力更多的放到业务上,而不是编程细节。正所谓知其然知其所以然,钻研细节可以更好地帮助我们实现业务,做到了然于胸。
2.良好的英文理解能力。由于一些原因,我们接触到的一些技术的资料都是二手资料,而这些二手资料往往在知识传递的效果上有一些折扣,甚至是偏差。英语可以说是(安卓)编程提升的加速器。同时,英语好的话,可以辅助我们写出更具有自解释的代码。
3.善于思考和总结的习惯。真理越辩越明,同样技术越思考越清晰。对于一个技术通常我们需要抱有这样的疑问
- 它是什么 一句话概括
- 解决了什么问题 存在的意义
- 怎样解决了问题 内部的实现
- 它的缺点是什么 多角度分析
比如我们关于WebView的考虑点的总结
- 是否支持js
- 是否支持mixed content (https网页加载http图片)
- 与js通信的问题,比如给方法增加JavaScriptInterface注解
- 是否自身处理某些URL(协议不同,不让flipboard://showSection等)还是交给外部程序
- 关于UA中是否加入特定的标识,比如Flipboard字样
- 是否增加特定的header
有了思考,我们需要以文字的形式记录下来,这也应了那句老话,好记性不如烂笔头。建议以博客的形式总结出来。
4.高效率的学习方法。
- 理清楚概念很重要
- 做好控制变量法
- 多动手实践,与理论结合
- 抓住重点,剔除干扰因素
其实,任何复杂的事情都是由简单的事情组成,编程也是一样。在编程过程中,我们会接触到很多概念,这些概念很重要,对于概念的一知半解往往会使得我们越走越慢,学习起来原来越困难。因此对于编程中的概念要务必理解准确和深刻。
控制变量法:我们在初中做实验