打造自己的 Android 常用知识体系,android 音视频开发面试
Android 常用知识体系是什么鬼?所谓常用知识体系,就是指对项目中重复使用率较高的功能点进行梳理。注意哦,不是 Android 知识体系。
古语道:学而不思则罔,思而不学则殆。如果将做项目类比为“学”,那么整理就可以类比为“思”。
在做项目过程中总是会遇到使用相同的功能,比如 toast、对话框、刷新加载列表、网络框架、数据库等等,一个简单的方法就是从之前的项目中复制粘贴到新项目中,然后做一些个性化修改,好了,这就“大功告成”了。当另外一个新项目用到了,再次复制粘贴。这样是不是很 low。但是当项目一个接一个的时候,这个方法是一个简单快速的方法。
那么当几乎没有项目可做的时候或者当周末有时间的时候,我们是不是应该对功能点进行一下思考呢。那么思考什么呢?
1.思考这个功能点经过多个项目的“考验”,是不是“成年”了,可以“独立”出来了;2.思考这个功能点是不是属于常用功能,值得“独立”出来;如果是的话,为什么不把这个功能点从项目中“独立”出来呢。有人会说,我记忆好,能知道所有项目中用到的功能点,我可以随时找到。是吗?我当下很怀疑啊。
##01 功能点如何独立?
####一个 Demo
将功能点从项目中摘出来,做成一个 Demo。数据可以采用假数据,涉及到网络数据的,可以使用 mockAPI。
注意:一个 Demo 只有一个主功能点,其他辅助的功能点可以简化。不能简化的话就在博客中标注出来.
####两个平台
一个是博客平台(博客园、CS
DN、简书等),一个是 github。
为什么要写博客呢?因为这样才能记录这个功能的集成步骤,以及对这个功能的理解。当然了,不写博客也可以写到 github 的 READMEN.md 中。主要目的就是通过写文章加深自己对功能的理解,至于精细到什么程度,在于个人的想法。
一个小建议,刚开始写博客没有头绪,可以先制作一个模板(word 就行):罗列出来目录,像什么概述、前言、项目结构图、集成步骤、使用方法、参考资料等目录名称。比如我的博客文章,基本上是同一个模板。
github 就不多说了,托管自己的代码,记录版本迭代信息,比存储在本地强多了。
##02 为什么要进行体系化?
所谓体系化,其实就是对自己的知识进行梳理。这样才能清楚自己具备哪些能力,欠缺哪些能力。并且可以快速复用知识点,节省重复功能的开发时间。
有人会说,整理常用知识体系,只是停留在使用的层面,无法达到进阶的作用。是的,这个常用知识体系可以帮助我们快速复用功能,节省时间,同时也可以加深我们对功能的表面理解,那么节省出来的时间以及对功能的表面理解是我们对功能的实现原理进阶的基础。由表入里也是一种方法。
我们不仅仅要拓宽知识的纬度,更要加深知识的经度。所以阅读源码、理解原理是我们的目标。
##03 体系如何打造?
整理!先整理细碎的功能点,最后使用思维导图的形式展现出来。
评论