Mr.Simple的专栏

成长的2014

打开电脑,想对这一年做个总结,但是却不知道怎么开始,于是就这样莫名其妙的开始了。

总的来说,2014年收获颇多。从2013年7月份到友盟实习,承蒙主管看重,一实习就干上了主程的活,这一年的实习算是没有白费。在懵懵懂懂的实习生活中,转眼到了2014年的6月,匆匆忙忙整理了毕业设计的相关资料,并且在回校答辩之前和我的搭档对友盟社会化组件进行了一次大的重构,恰好在我大学的最后几天进行,也算是一个好的开始。这次重构没有什么技术挑战,主要就是一些解耦的工作,把耦合在一起的子系统都独立出来,让核心SDK更加的精简。这次经验让我深刻的体会到耦合带来的灾难,它严重影响项目的复杂度,使得系统难以升级和维护。对于耦合性的问题,我想要是能够遵循单一职责、里氏替换原则,何以至此!当然,据我的了解,这个问题有很大的原因是以前的产品经理的决策问题。

2014年的成长,更多的可能是对于面向对象的理解更加深刻,面向接口编程,而不面向实现。我想这个很多人都知道,但是对于经验不太丰富的人来说这个只是一个秘诀,如何运用到项目中却是一个问题。这一年也重新阅读了关于Java、Android、设计模式、敏捷方面的书籍,重新阅读经典书籍会给你带来意想不到的收获。对于买书看书这个事我是极为推崇的,一本好书可能能够对于影响很大,从而会导致你的开发方法的转变,也许会对你的职业道路有很大的帮助。例如,你看了敏捷开发中的TDD,于是你使用TDD来开发,这会导致你的代码质量得到很大的提升,光从可测试和测试覆盖率上就可能完爆你以前的开发方法。以至于我看到一些比较极端的言论,如果你还没有用TDD,那证明你还不够专业。当然面向对象专家们的这个言论有一定的道理,但是更多的是在推荐这种开发方法。我尝试了一下TDD,感觉还是真正运用起来还是比较困难的,如果你是写框架的话,使用TDD可能会效果很好,毕竟没有UI上的依赖要好测试得多。我在了解了TDD以后,还是觉得自己没有到这个程度,日后再尝试吧。

毕业了,感觉还是有了一些压力,还是想努力地提升自己,写博客就是一个比较好的方式吧。于是下半年开始比较多的在CSDN上写博客,,前期分享一些比较通用的技术点,也是通过写博客来加深自己的认识。写博客能够让你梳理自己的知识点,查漏补缺、加深理解,你把你的知识讲述给别人听,那首先你得对这个知识体系有了一定的把握,这样迫使你去收集这方面的知识,并且整理出来,这个过程很重要。首先提升了自己,其次才是分享给了别人。

博客写的最多而且稍微有点质量的的还是在2014年的12月份到2015年的1月份,这个时间加入了鸿洋和任玉刚的开发交流群,觉得大家氛围还不错,于是更有了分享知识的欲望。这个期间写了一些常用框架的简单实现,比如网络框架、ImageLoader框架,写这些的目的是为了让自己深入了解框架的一些核心机制,以重复造轮子的态度去学习轮子构建过程,从而达到能够造轮子的地步,这就是我的Android框架开发系列的目的。

在这个过程中,偶然的写了AndroidEventBus这个框架,起初只是为了写博客为目的,但是在学习的过程中发现现存的事件总线框架在使用上不是很方便,尤其是greenrobot的EventBus,当然它的效率是最高的,也是为了效率问题作者做出了相应的处理。我想既然我有这些感觉,应该也会有其他人会这么认为,在开发群里交流之后,发现确实有这样的情况。因此才将正式地AndroidEventBus以开源库的形式推出来。当你的事件数量较少时,效率自然不是优势了,但是使用体验却是很直接的。当然选择哪个库还得看用户的选择,比如事件的数量等。

AndroidEventBus发布以后总的来说绝大多数人还是挺支持的,但是也有的人讽刺说“国人就知道重复造轮子”之类的话。如上所说,AndroidEventBus起初只是为了个人学习,有的人总在强调“不要重复制造轮子”,但是我就是通过学习轮子制造过程来更加深入的学习,如果你不去制造很可能只是停留在事物的表面,有些东西你想应该是这样的,但是很可能并非如此;有些东西你没有去经历,你不会知道原来它会出现这样的问题。另外,一味的使用外国人制造的轮子,而不是去学着制造,最终和别人的差距会越来越远。不管别人怎样,我想这是我自己要坚持的东西。

2014年就在这样的分享氛围中结束了,学到了很多,分享了很多,在期间也认识了一些同行,得到了他们的帮助,例如任玉刚、淡蓝色的星期三、CC哥等等,在此感谢那些小伙伴的支持。

展望2015

2015对于我个人而言也是未知的,我也不知道在职业道路上会做出如何选择。也许坚持在Android研发岗位上,也许去做iOS,当然我肯定还是钟爱Android,只是为了项目需求有可能会先暂时转到iOS阵营。如果我还在android平台,那么会继续分享框架开发系列,把事件总线框架、ORM框架分享出来,并且把Android源码分析之设计模式给补充完整一些。

App开发基本上都是相通的,建立了编程思想之后,换平台只是换个语言环境罢了,当然在期间也会遇到这个平台开发中大家经常遇到的问题。但是对于移动开发来说,精通Android,熟悉iOS开发还是很有必要的,否则让你负责移动端的开发,你只懂Android不懂iOS,那你就很难对产品有一个整体把握,这也是我近几年的职业目标了。

2015年,对于自己的期望是更专业化。具体来说就是在做好本职工作的同时补充一些OO方面的知识、学习一些比较经典的架构模式、补充学习Lunix、Unix的知识以及在单元测试上投入更多的时间实践,然后找到一套适合自己的开发模式。在提升自我的过程中,也希望将自己的所得所思分享出来,如果能够给帮助到一些朋友或者让别人有所感悟,那也就完成我的初衷了。

才能做到人在旅途,感悟人生,享受人生。

Mr.Simple的专栏

相关文章:

你感兴趣的文章:

标签云: