阅读源码的经验总结,以进一步的提高本身,加油小甜妮儿

        

        

    项目中用到的开源库,若是不熟悉,网上搜一些文章进行学习,把开源库的基本使用都了解了以后再去看项目,这样就不会一头雾水。php

    当下比较流行的技术有 RxJava + Retrofit+okhttp,RecycleView,Butterknife,Glide等,这些技术在LookLook项目中都用应用,若是把 LookLook这个项目搞懂了,基本就没有问题了html


看开源项目的心得:

刚开始看一些项目可能会感受没有头绪,项目看多了,就不会有这种感受了,只要静下心,一切都ok了。android

准备工做:  下载项目,编译后运行在虚拟机或真机上,读README了解项目概况。数据库

看 项目源码:打开Manifest文件,找到入口activity,简要浏览项目中有一些什么activity,Broadcast Receiver,Service。而后在虚拟机或真机上打开程序对照源码看。顺藤摸瓜,一步一步往下看,第一遍可能不会彻底看懂。第一遍就是把程序运行 的主要脉络搞懂,熟悉项目中用到的开源库和知识点,若是有本身不熟悉的,上网搜一些文章学习。第一遍主要脉络搞懂了以后,再进行第二遍,第三遍,甚至第四 遍,每一遍都会加深对代码的理解。编程

若是你的项目看多了以后你会发现一个项目能够分为如下几个模块:网络

1,activity 和fragment架构

2,adaptermvc

3,数据实体app

4,第三方开源库的使用,网络、图片、其余工具框架

5,一些工具类

6,项目配置类

7,自定义View

8,其余(数据库,activity、fragment的基类,API等)

任何事情均可以熟能生巧,在看了一些开源项目后,本身最好开发一个。


阅读源码的经验总结

    阅读源码对于中级工程师尤其重要,经过代码能够看做者的实现途径,方法,思想。若是你源码看多了,你就能够灵活应用不一样的途径实现同一效果。对于一个中级android开发者须要阅读什么源码,android系统源码?第三方开源库源码?完整项目源码?这些源码学习价值都很大,那咱们应该学习哪个?首先咱们要明白咱们的目的:短期提高咱们编码技能,但愿在工做能体现出来。从这个角度来看,阅读android系统源码的价值就不是很高。因此对于一个中级工程师来讲,要把第三方开源库和完整项目做为主要对象。下面我就讲一下看第三方开源库和完整项目源码的一些方法和技巧。


前期准备:

我使用的是Android Studio来看源码的;

开始阅读源码:

若是你是一个阅读源码的新手,那我建议你首先找一些代码量少的,本身感兴趣的来看。

  1. 如何阅读第三方开源库

    (1)选择一些当下热门、学习价值高的第三方开源库,例如Volly;

    (2)热门的第三方开源库,网上会有不少源码解析文章,这样就能够快速的对项目的总体框架有一个大致的了解,再去看源码具体实现就很快了。

    (3)学会使用搜索引擎:对于搜索引擎,Google>bing>baidu.

    (4)一些看不懂的代码,先放一放,继续往下看。阅读第三方开源库主要是学习他的设计思想。

  2. 如何阅读开源完整项目

    (1)下载项目,在真机或虚拟机上运行,最直观的体验app的功能。

    (2)而后熟悉app的架构,mvc、mvp、mvvm,目前项目中mvvp用的比较少。

    (3)而后打开build.gradle文件看看项目用了哪些网络请求库、图片加载库、其余库。若是有不熟悉的,上网找一些文章学习一下。

    (4)而后就打开manifasts文件找的入口activity,顺藤摸瓜往下看。一样,不懂的地方放过。

    (5)不要期望一遍就能够搞定。

    (6)这里给你们推荐一个特别值得学习的项目LookLook,项目结构清晰,代码量不是很大,学习价值高,涉及到:mvp架构,RxJava + Retrofit+okhttp,glide。


    看源代码的大致思想:

    一、第一遍不要纠结于具体实现,先把程序的总体框架流程搞清楚。

    二、不须要从头至尾看,能够跳着看,由于程序原本就是模块化的。

    三、项目的选择也很重要,代码量由少到多,功能由简单到复杂。


很喜欢做者的这句话:

“最后须要记住的是若是你被庞大的源码战胜,不是由于你笨,而是由于你急躁,或是你选择的项目不对。编程就像写小说同样,不只要多看,还要多练。总有一天你也会成为一个优秀的“做家”。小伙伴们开始 赶快Read The Fucking Source Code 吧”。


左后把做者总结的经验借鉴一下,而后就投入使用了:

1.要有决心,要有一个成为高级工程师的决心。这一点谁也帮不了你,彻底靠本身。能够提早畅想一下成为高级工程师后的本身,挑女友、买HHKB,高清显示屏,人工力学座椅、降噪耳机,漂亮的房子、汽车、人生赢家......

2.按部就班,任何事情须要一个过程,由易到难。不少小伙伴一开始不知道看什么开源项目,我这里给你们列顺序。

第一阶段android的官方Demo,90%都不难,有一些技术咱们不经常使用到,能够直接略过。

第二阶段2016年最值得学习的五大开源项目,能够挑本身感兴趣的看,也能够在完整项目(泡在网上的日子)找一些。首先看项目src文件夹大小,在500kb如下均可以接受。

第三阶段第三方热门开源库,Volly,Universal Image loader等。

第四阶段看本身感兴趣的,融会贯通,扩充知识广度,最好本身再作一个开源项目,放在Github上。

3.计划,给本身设定一个计划,一个本身想完成的计划。如几天以内看完这个项目。我通常会制定周计划、月计划,这个月学些什么内容,这个星期学一些什么内容,不须要太详细,简要的内容就能够,我会把他以便签的形式放在电脑桌面上。一个月下来,学的东西比计划里的东西要多,可是不必定会完成所有计划,计划能够做调整。

4.其余。根据本身的习惯选择。个人习惯:编程前把手洗干净,干净整洁的桌面,一个舒服的椅子或靠垫护腰,累了再加点轻音乐,不按期跑步、打球,天天傍晚一我的散步。对于我来讲一我的去散步很重要,去不会碰就熟人的地方,能够专心致志想不少事情.....。最后剩下的就是日复一日的坚持。



文/maat红飞(简书做者)原文连接:http://www.jianshu.com/p/be86e5678252著做权归做者全部,转载请联系做者得到受权,并标注“简书做者”。

相关文章
相关标签/搜索