1.
- 一个浪头打过来,最好的办法是迎上去了解个究竟,而不是漠视,或者干脆当事情没有发生。
2.
- 记住这个教训:别猜,去问!去查!
3.
- 隔一段时间重顾知识是记忆的关键方法。
- 不要一次性学完一项知识就不管了, 这样你无法真正的掌握。隔一段时间回顾一下,每次重复,你都会加深自己的 理解,次数多了,你就会理解每个细节,成为真正的专家。
4.
- 对于一个技术通常我们需要抱有这样的疑问
- 它是什么 一句话概括 解决了什么问题
- 存在的意义
- 怎样去使用它
- 怎样解决了问题 内部的实现
- 它的缺点是什么 多角度分析
5.
- 高效率的学习方法。
- 理清楚概念很重要
- 做好控制变量法
- 多动手实践,与理论结合
- 抓住重点,剔除干扰因素
6.
- 关于如何选择第三方库
- 确定这个库是否是必需的
- 这个库能否带来开发效率的提升,降低代码的维护成本
- 这个库的学习成本如何 比如rxjava其实学习成本会相对高一些。
- 这个库的质量如何,不要仅仅看star,更要看issue的处理情况。
7.
- 怎样练习算法题?
- 每道算法题都先自己去实现,先写思路,然后自己去实现一遍,然后再看看答 案,记住答案的思路,第二天再重新按照答案的思路实现一遍。
8.
- "另类"的学习方法 抄书的奥妙——那就是延缓阅读速度,不至遗漏每一个重要的细节:眼到,手到, 心到,其实不仅书抄得,代码(优秀源码)也抄得。
9.
- 建议:建立逐字稿
- 计算机网络相关的逐字稿
- 计算机操作系统相关的逐字稿
- 数据库相关的逐字稿
- 设计模式相关的逐字稿
- 数据结构与算法相关的逐字稿
- Java知识相关的逐字稿
- Kotlin知识相关的逐字稿
- Python知识相关的逐字稿
- React Native知识相关的逐字稿
- Flutter知识相关的逐字稿
- 小程序知识相关的逐字稿
- JS知识相关的逐字稿
- Android知识相关的逐字稿
- 与技术无关的逐字稿
10.
- 如何提升你的阅读能力?
- 只字不差的反复阅读
- 真正的获取知识,是通过阅读,深入思考与践行
11.
- 如何高效阅读一篇文章?
- 由主题扩展为知识树
- 尝试描述
- 尝试记忆
12.
如何阅读源码?
流程:
- 1.寻找驱动力
- 2.浏览官方文档,对开源项目的功能、架构有大概的印象
- 3.在工作中或实践中使用开源项目
- 4.网上搜索针对该开源项目进行分析的优秀文章
- 5.对开源项目提出自己的疑问
- 6.把开源项目下载到本地,并导入IDE,方便调试、测试
- 7.带着疑问阅读源码
- 8.阅读源码过程中多添加注释、多做笔记
- 9.做阅读总结,吸收和再创造
准备:
- Java设计模式(模板方法,单例,观察者,工厂方法,代理,策略,装饰者)
- Java高级相关
- 熟练掌握这个库
- 先Google了解软件的整体架构设计
- 搭建系统,把源码跑起来
开始阅读:
- 根据你对系统的理解,设计几个主要的测试案例,定义好输入,输出。(Debug一 遍肯定是不行的,需要Debug很多遍)
- 第一篇抛弃细节,抓住主要流程,第二篇,第三篇,再去看各个部分的细节。
- 阅读的时候同时使用UML画出系统的类图。
- 主要的测试案例明白了,丰富测试案例,考虑一些分支。
- 这一步会非常非常地花费时间,但是你做完了,对系统的理解绝对有质的飞跃。
13.
- 想象一个来自未来的自己,他非常自信,非常成功, 拥有你现在所希望的一切,他会对现在的你说些什么?他怎么说,你就怎么去做,10年之后,你就变成了他。
14.
- 重视实践,充分运用感性认知潜能,在项目中磨炼自己,才是正确的学习之道。在实践中,在某些关键动作 上刻意练习,也会取得事半功倍的效果。
15.
- 我们需要从别人身上学习。从老师、领导、同事、 下属甚至对手身上学习,是快速成长的重要手段。
16.
- 学习计划最好能结合工作计划,理论联系实际结合,快速学以致用。
17.
- 写一篇博客的过程,其实就是对一件事情,学习、理解、思考、转化,最终输出成一篇博客的过程。
18.
- 想要学习新技术,想要提升自己,不是看见新技术就去学,沉下心来认真钻研 才行,吃透它,不再为缓解焦虑而学习。
19.
业务代码一样很牛逼
- 1.使用封装和抽象可以使业务代码更具扩展性。
- 2.多和产品交流以便更好地理解和实现业务。
- 3.日志记录好了问题定位效率可以提升10倍。
20.
做更多:
- 工作中熟悉多个业务代码,端到端(前后端)的业务代码,自学。
做更好:
- 1.提升项目稳定性,引进单元测试和UI测试。
- 2.重构解耦项目。
- 3.性能优化。
- 4.设计模式去除重复代码。
做练习:
- 1.学习
- 2.尝试
- 3.教学
閱讀更多 Android01 的文章