来到某比亚后,这边软件流程比较规范,代码审核比以往的公司都严格。很多我以前认为一点问题都没有的代码,经常审核不过被打回来修改。此时,我深刻地感受到,我薄弱的基础,已经严重地制约着我。事实上,平常审核我代码的同事,可能比我小,工作经验也没有我丰富,但是他们负责某一块的功能很长时间了,经常深入去研究这些基础知识,所以在他们面前我就是“虚胖”而已。虽然可能我在公司的级别比他们高,但真正讨论起某个知识点来,我的的确确是哑口无言,毫无“反击”之力。
直到有一次,如何使用HandlerThread,如何判断Handler回调方法所在线程问题等一些Handler相关的问题频繁出现后,我才发现我是懵逼的,自己用了这么多年的Handler,居然有如此之多的盲点而不自知。尽管曾经在面试中经常碰到面试官问Handler机制相关的问题,但差不多就是提前背一下答案简单回答一下而已,平时根本没有真正去研究过,我甚至完全没研究过sendMessage,sendEmptyMessage,post,postDelay这些方法的源码,它们的联系和区别。所以我一度很惭愧,用了这么多年的Handler,我居然不过是个小学生水平,在同事面前掉价掉大了。
事后,我发誓,一定要好好研究一下Handler,于是我开始看源码,查资料,看博客,顿时豁然开朗了。终于搞明白了平时工作中遇到的Handler问题,也明白了曾经在面试中多次难倒我的Handler机制是这么回事,后来碰到Handler的常见问题,我也就轻松了很多。同时我把Handler相关的知识点用文字描述一遍,整理成一篇博客,发到朋友圈得到了不少好评,这也算得上是我第一篇真正意义上的技术博客了。
万事开头难,真正用心写完第一篇博客后,就一发不可收拾了。在过去的一年里,写了40多篇,曾经面试中让我吃了不少苦头的问题,工作中经常碰到的问题,学习某一款工具后的记录等,都花很长的篇幅去梳理和总结,经常半个月到一个月才写完一篇。
三、写博客所受的益处
写博客最大的受益者是写博客的人,尽管我只写了一年的时间,但也明显感觉到自己受益不小了。
1)学到了更多更深的知识。写博客并不是完全懂了才写,而是懂得大概后开始写,一边写一边发现不懂之处,然后弄懂这些不懂之处,再继续写,像滚雪球一样,至少我就是这么干的。
2)清除盲点。对于某一个知识点,我会查阅很多资料,阅读其他优质博客,搜索源码,看书上的描述等,与当前知识点相关的内容都会去涉猎。
3)建立自己的技术栈。作为一个程序员,需要明白自己这个阶段必须要掌握的技能和知识,而通过写博客能够直观地记录自己懂了什么,还有什么需要学习,而不是只记录在脑海里。
4)加深对知识的理解。“好记性不如烂笔头”,其实当我们把一些已知的知识梳理一遍并写下来的时候,会对已知知识的记忆和理解会更深刻。
5)刺激求知欲。当我在不断发现自己的不懂之处时,就特别想把它们搞明白。其实我以前对技术总是缺少一种深入探索的欲望,一切是只要能应付工作需要就够了。但是自从开始写博客后,就有一种想把整个程序世界都研究透的欲望,尽管这是不可能实现的,但我确实更爱研究技术了,经常是乐此不疲。
6)成就感爆棚。看着自己曾经困惑不已的知识点被一一攻破,内心的喜悦和成就感是不言而喻的。而且时不时周围会有同事和朋友对我写的博客赞许有加,这也让我信心满满,因为平时工作中写博客的人其实不多,能写得还不错的人就更少了(虽然我写得也未必很好,但绝对是走心了的,不是每一个程序员都能坚持去写的)。
7)增加面试时的筹码。有些招聘信息中,如果经常写技术博客,会让面试者在简历中留下博客地址。无疑,技术博客写得好的话,对面试无疑是有很大好处的。这也是我努力写博客的动力之一。