2016猴年总结

前言

本来应该在春节前写这篇文章,但实在是有点忙,拖到春节才写。本来的年终总结,现在当做鸡年开工前对猴年的回顾,理清一下思路,哪些做过的、未做的、做得好的、做得不好的......


技术栈

2016年三个技术笔者认为自己做得比较好,并且实践比较成熟:

1.单元测试;
2.动态代理旧框架;
3.业务拆分。

单元测试

最早理解单元测试的概念,是在2015年末,一位读软件专业的同事,给我们介绍的junit、mockito(当时他也是半桶水,哈哈)。后来,经过几个月研究rxjava、retrofit、mvp、junit、mockito,总结出结合这几种技术的Android单元测试思路,《(MVP+RxJava+Retrofit)解耦+Mockito单元测试 经验分享》

再接下来的几个月,在Android项目中具体落实单元测试,不断地整理思路、概念,对某些技术点进行深入研究。例如,如何隔离Android sdk依赖,如何进行文件、数据库测试,如何验证参数返回值等。

谈谈为什么写单元测试
Android单元测试 - 如何开始?
Android单元测试 - 几个重要问题
Android单元测试 - Sqlite、SharedPreference、Assets、文件操作 怎么测?
Android单元测试 - 验证函数参数、返回值的正确姿势

动态代理旧框架

受到Retrofit框架影响,在四月份时研究了java动态代理。动态代理并不是什么新鲜技术,要玩好它,并不容易。

我们的动态代理,主要用在网络层。因为项目比较旧,用户量大,旧代码不轻易改动;同时,也想用retrofit那种模式,仅需要写描述业务逻辑的接口,实现通过动态代理执行。因此,笔者决定自己写一个类似retrofit的框架,接口规则跟retrofit大体一致,底层代码还是用自己写的。这样跟使用retrofit的效果是一样的,而且可控,根据新需求做调整。框架和底层代码变动,不需要改动业务代码。配合单元测试,写网络请求业务效率比以前提高不少。

不仅仅是网络层,其他层也可以用动态代理的思路。

如何使用Retrofit请求非Restful API
同事拒绝Retrofit,怎么办?

业务拆分

对项目进行业务拆分,在2016年初已经有这个想法,由于一些技术点未突破,框架的不完善,旧代码各种耦合,新业务开发紧张,迟迟未能实现。2016年5月去北京参加GMTC大会,天猫、滴滴、链家网等,都有讲到业务拆分、插件化等开发模式,具体实现不尽相同,但理念基本一致。

回广州后,经过几个月的重构、框架升级、代码解耦,配合单元测试确保稳定性,加上对业务间调用数据这个技术点有所突破,业务拆分的路逐渐清晰起来。直到2016年11月,业务拆分总算在项目中得到实践。

项目的其中一个重要问题,就是编译慢,这个恐怕是很多项目都存在的诟病。业务拆分后,业务代码分成不同的module,每个module可以单独编译、运行。这样在开发新业务时,工程师仅需要编译新业务代码&底层代码,某种程度上开发效率大大提高

App组件化与业务拆分那些事
ActivityRouter路由框架:通过注解实现URL打开Activity

其他与不足

笔者也有研究过插件化技术及可行性,觉得Small比较简单。(项目中并没有使用插件化)

轻量级插件化框架——Small

很遗憾,今年还未做到持续集成,jenkins、fastlane也没时间研究,希望2017年对持续集成方面有所涉足。


工程师的自我修养

春节后,笔者就是工作满四年的码农了,在思想上跟一两年前,有不少变化。

对于新功能开发,好像越来越没把握,指开发时间上。这个也跟产品要求越来越复杂有关,以前做的功能,流程比较单一,从后端请求数据、缓存、显示;现在做了几个功能,流程复杂,各种入口,各种情况......原来计划一个月开发,算上改需求、测试、改bug,往往不止一个月。

除了以上客观因素,也有主观因素。以前写代码,写完觉得不太乱,就提交;现在,写完还要想想函数名、成员名、类名好不好理解,函数调用、代码流程是不是通俗易懂,注解别人是否看得懂.....概括来说,就是可读性。还要写单元测试呢......

如果你问笔者,最大的变化在哪里,可能是懒惰吧.....哈哈哈哈哈.....


理财、保险

理财对于每个人来说,是非常重要的事情。笔者原本以为程序猿有很强的分析能力,对股市、基金更容易上手。其实,每个人也差不多,都很容易追涨杀跌,还有被小道消息左右。

从2015年3月买基金,股灾前成功脱险;2016年初重返基金,研究各种类型基金,债券、指数、分级;2016年10月开始玩股票,看市盈率、利润增长率等。

2016年债券收益非常非常低;6月份开始投H股指数,直到12月基本套现了,还留一点,这笔收益算是2016年最大的收益;后来把部分债基换量化基金,暂时亏损中(5%以内);股票嘛,这里大有学问,买了不少,基本都是蓝筹,没赚没亏。(股票好像不属于理财,属于投资)

投资有风险,入市需谨慎。

保险,跟理财同等重要(有的大V把保险也归为理财一种)。

去年9月就计划买份重大疾病险,约友邦的agent聊了一两次,对大陆这边的保险不太满意,现在打算买香港友邦的产品,有亲戚在港澳做agent。

我想好多读者对保险很陌生,觉得保险很多是骗人的。这么想很大原因是以往国内保险agent素质普遍低,老是推荐提成高的产品,性价比低,好赚钱;而且不诚信,本来你未达到投保条件,为了业绩,agent推荐你买,也不告诉你真要理赔时,可能拒赔。现在互联网那么发达,买保险的渠道很多,知乎、微信订阅号有不少大V介绍各种保险,大家不妨先看几篇文章。

这里强烈推荐力哥公众号:

保险公司打死不肯说的秘密
【你被骗了】99%普通人都会中招的买保险误区!
最聪明的人每年花多少钱买保险?

如果你完全小白,推荐先买一年医疗险 平安e生保 (平安保险官网or服务号“平安健康生活”买),再买一年交通意外or综合意外险。重大疾病险嘛,可以看完文章再考虑。当然,你也可以考虑家庭综合意外&医疗险。

千万别以为年轻身体棒棒哒就不用买保险,保险约早规划约好。


跑步

现在笔者的跑量,大概是一周一次,12公里左右;能承受的最大单次距离,是半马(21公里)。

在同事的威逼利诱下,2016年12月跑了广马全马(42公里),好惨T_T。这个量完全超出我承受能力,到了30公里后,边跑边抽筋。我公司的女同事们好变态的,全马不在话下。

笔者只是个跑渣。


旅行

2016年去了国内几个城市和景点:

乌镇
绍兴:三味书屋、鲁迅故居(百草园)、兰亭镇等
莫干山:国共和谈旧址、蒋介石度假别墅等
溧阳:南山竹海、天目湖
镇江:金山、焦山、北固山等
常州
无锡:灵山大佛、鼋头渚、南禅寺等

2017年初,还去了厦门。厦门空气真的好,对比北上广,确实挺小,散散心挺不错的。


关于作者

我是键盘男。
在广州生活,在互联网公司上班,猥琐文艺码农。喜欢科学、历史,玩玩投资,偶尔旅行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,568评论 25 707
  • 附上原文作者连接:作者:金诚 一.榜单介绍 排行榜包括四大类: 单一框架:仅提供路由、网络层、UI层、通信层或其他...
    这个美嘉不姓陈阅读 2,223评论 1 35
  • 框架:提供一定能力的小段程序 http://www.cnblogs.com/jincheng-yangchaofa...
    姑娘请别为难小僧阅读 7,078评论 0 132
  • “看,前面漆黑一片,什么也看不到。” “也不是,天亮后便会很美的。” ——周星驰《喜剧之王》
    LionelLv阅读 173评论 0 0
  • 1. 香港国际机场N43巴士站下,初夏蚊子开始绕着人的头顶嗡嗡飞舞。我一边用厚围巾给妈妈头上方挥舞,一边抬头遥望不...
    voutetoilee阅读 197评论 0 0