2018年终总结,一份迟到了的年终总结 | 掘金年度征文

624 阅读6分钟

迟到的原因

  本来年前就准备写年终总结的,在12月18号的时候提交了CSDN的博客专家申请(去年定下的目标之一),本想月底可以知道审核结果,看看完成去年的目标没有,结果审核了好久,到了今天才通过了我的申请,不过也算是完成了去年的目标了————成为CSDN博客专家,所以今天才开始写2018年终总结,一份迟到了的年终总结。

image

我的博客地址:https://blog.csdn.net/Chay_Chan

允许我下面使用“今年”来称呼2018,尽管现在写博客的时候已经是2019了。

image

我的开源项目

image

我的github地址:https://github.com/chaychan

今年拥有了第一个star数突破1k的项目————精仿今日头条,记得去年写年终总结的时候才616个star数,没想到这个项目已经过去那么久了,依然还有不少人点star,所以今年我在空闲之余也做了几次维护。

其中主要的两次更新是:

  1. 引入MultipleItemRvAdapter,优化新闻列表的adapter,不同条目的处理放在各自的ItemProvider中处理;

  2. 优化视频解析逻辑,彻底解决视频列表播放错乱的问题;

MultipleItemRvAdapter 面世的原因

  由于公司项目中IM功能使用到了融云,融云中每一种消息的处理都在对应的ItemProvider中,这样可以让不同item的处理逻辑写在不同的ItemProvider中,方便往后的维护工作,而且这样做逻辑清晰,所以很认同他们开发人员的这种封装思想,随即想到之前做精仿今日头条项目的时候,尽管已经使用了BaseRecyclerViewAdapterHelper,但是处理逻辑还是写得很多,一个新闻列表,有不同样式的新闻条目,或是纯文字新闻,或是带图片新闻、或是带视频的新闻,拥有多种条目样式,但是全部都写在一个NewsListAdapter中,显得特别臃肿,所以我就想到学习融云那种思路,对BaseRecyclerViewAdapterHelper进行封装,以后用到多条目布局的时候,就可以使用到,方便以后的维护工作,于是便有了MultipleItemRvAdapter

经过处理后,不同样式的item的处理逻辑,就归于不同的ItemProvider中:

image

视频解析的探索

  由于一开始发表精仿今日头条这个项目的时候,使用到的视频解析是通过抓取今日头条视频解析网站的包进行分析知道如何请求的,但是后面该网站加了一系列的防护措施,毕竟人家也是依靠这个赚钱的,有开放给开放者调用,不过需要付费,想到我这个项目仅仅只是为了学习交流,所以就没有购买他们的服务,自己寻求解析视频的方法,一开始仅仅只是通过WebView加载原网页成功后,通过注入js获取到video标签,取出里面src的链接,但是有个不好的地方就是等待时间太长,需要等页面完全加载成功后才可以获取到,所以体验很差。

但是忙于工作的原因,一直没有优化这个问题,一直到了12月份的时候,抽空再次研究解析视频的方法,后来根据自己的理解找到了方法,解决了这个问题,并发布了博客 今日头条最新视频解析方法

BRVAH 创建者的邀请

BRVAH 即 BaseRecyclerViewAdapterHelper,一个特别火的Android开源框架,目前拥有近16K的star数,用于方便快捷地创建RecylerView的Adapter,大大减少了代码量。

在发布 MultipleItemRvAdapter 的一个星期后,接收到了BRVAH 创建者的邀请:

image

于是在BaseRecyclerViewAdapterHelper 2.9.37版本后,开始加入了MultipleItemRvAdapter,那时候接收到邀请心里特别开心,第一次参与到如此火爆的框架的维护工作中来,从中也学习到了不少维护的经验。

使用Kotlin进行开发

  去年写年终总结的时候,已经初步入门了Kotlin语言,在写一些Demo的时候也开始使用到,今年在公司的项目中,也开始使用Kotlin开发,说实话,当了解到Kotlin拥有简洁的语法可以大大减少代码量的时候,真的忍不住想要使用其进行开发,觉得写Kotlin代码简直是一种享受,那时候和另外一个Android同事协商好,在新的项目中使用了Kotlin进行开发,并对项目框架进行了封装。

自己对工作的一些看法

  作为程序员,其实有时候真的厌倦千篇一律地开发新项目,感觉现在开发新项目的时候,大多用到的都是现有自己了解到的一些技术。对我来说,我更加喜欢的是维护工作,感觉维护工作中学到的更多,当项目用户量逐渐增长的时候,不同的机型的适配问题、出现问题后如何处理将影响降低到最小、代码的优化等方面,这些对于自己技术的提升都有很大的帮助,带着问题去深入研究,觉得这样对程序员的成长很有帮助。

  同时,我也喜欢学习一些新技术,当自己的技术到达瓶颈,突然了解还有新技术的时候,会觉得豁然开朗。幸好公司项目维护的时候有空暇之余,可以抽空学习新的技术和写博客。

谈谈我对写年终总结的看法

  在我看来,写年终总结其实好处还是挺多的,尽管有些人写年终总结仅仅只是为了显摆自己今年做了哪些了不起的事,但是个人认为,写年终总结,除了要总结自己今年完成了哪些目标外,还要会总结自己处理事情的经验,这才是最难得的。一件事情,单纯做好了还是不够的,还要学会总结,从中获得了哪些东西,这些才是最珍贵的。同时,写年终总结还可以展望明年,为自己定下一些目标,然后利用一年的时间逐步去实现,年终总结可以说是去年目标的成绩单。

  尽管我的这份年终总结迟到了几天,但是我觉得还是很有意义的,挺享受写这篇文章的过程,在写的同时回首这一年踩过哪些坑,完成了哪些目标,加深了对自己的认识。

对于2019年的寄望

  1. 逐渐深入学习,研究一些常用开源框架的源码,学习其代码思想,让自己的技术更近一层楼,对自身进行提升;

  2. 坚持写博客,提高自己的知名度,后续打算开通自己的技术分享公众号;

  3. 学习新技术,打算学习Dart语言,掌握Flutter框架,开发跨平台应用。

掘金年度征文 | 2018 与我的技术之路 征文活动正在进行中......