2016年度工作总结
# 前言
时间过得很快,从去年的二月份开的网络会议,到现在已经有一年了。一年的时间,随着蛋壳整体的成长,我个人也是收获良多。虽然一路走得都很匆忙,也有很多坑,但我相信下一年我们都会走得更好。一年的时间,可以沉淀很多东西,这里我只做项目的年度总结和技术总结概要,具体的技术总结需要花更多的时间去做,年尾的这几天实在太忙了没时间去写,我会在年假的时候抽空来完成。
# 项目总结
# 个人项目总结
# 验房宝
雨花石项目,3月17日-4月20日。其中,3月17日-3月27日是用 Cordova,用 h5 去调原生,与 Arc 和 Jill 搭档,强行让我和 Arc 两个写 OC 的人去写 JS,工作经历上的坑就从这个项目开始了。3月29日开始撤掉 Cordova,换回原生,(求 Jill 的心理阴影面积)。后期工作主要由 Arc 去做,我4月初就开始做东莞万科云平台。
# 东莞万科云平台
雨花石项目,与 Jill 搭档完成了前期。4月1日-4月12日。这是一个 JavaWeb 项目,当时用的是 SSH 框架,当然在现在看来已经很古董了。借着实训的机会,我又学习了 SSM 框架,即(Spring + SpringMVC + Mybatis),与 Arc 搭档完成了一个图书管理系统并且成功上线。JavaWeb 的东西在这里就不多说了,毕竟作为一个 iOS 员工嘛。(说不定以后蛋壳的书多了起来,需要后台管理呢?嗯...)
# 案场管家
雨花石项目,4月19日-5月17日,我负责到5月6日。其中五一放假3天,5月10号就马不停蹄地开始金锄头了。作为第二个 iOS 实战项目,学到更多的是自定义控件的实现,比如主页的漏斗,以及动态改变 cell 的高度等。打基础的项目,当时还是 MVC 设计模型,还没把业务逻辑从 C 里抽出来。分类等也才刚开始积累,现在已经有整理出我们自己的分类库 DKExtension了。其它没啥好说的。
# 金锄头
5月10日-11月14日,第一个单干的项目,虽然工作量被老板评估为0.55?我是很不服的!95%都是我一个人完成的,Arc 在一期中途解决了一下上架问题最多算3%,Lpz 最多也就算2%。让 Lpz 加入的时候,一个我1小时可以搞定的任务给他做了一星期,当时他零项目经验,完全是给他机会接触实际项目。但这些领导是看不见不了解的,这也就暴露了当时的提成制度的漏洞。用什么去评估一个人的提成系数呢?项目的提成问题还是我提出,最后给到的时候老板也说怕钱字眼上不好看,就分少我了,唔...无所谓,反正也就那几百块。虽然现在废掉了,没啥好说的了,反正都是坑,当做吐槽吧...
全年历时最长的一个项目,包括一期和二期,但是烂尾了。个人觉得不能去怪谁,这是必定会经历的。后台也好,前端也好,安卓 iOS 也好,各个端都有各个端的问题。反过来还得感谢这个项目,让我们对整体流程有了了解,也学到不少东西。仔细想想,做这个项目的人,有多少个一加进来做就有项目经验的?不过确实收获不少,我现在做项目,有很多代码还是可以从金锄头里面搬出来的,只要代码封装得好,就算是烂尾的项目对我们来说也是有价值的。
# 一元领宝
7月9日-9月12日,跟金锄头一个尿性,垃圾项目,烂尾了。真的没什么好说的,完全可以说是一模一样的两个项目。做这个项目的时候与金锄头一期和二期,三个项目一起并行。一个项目改了代码,在另外两个项目也要同步改。三倍的输出,累啊!零提成 瞎几把乱玩... 真的往事不堪回首,能怪谁呢?作为一个生产者,是吧?
# 冷链监控系统 - 温湿度
10月19日-11月4日,与 Lpz 搭档。我完成蓝牙离线部分,Lpz 完成在线部分。我蓝牙部分几乎全部做完,虽然还有一点硬件方面的问题导致不能实现。Lpz在线部分完成1/3左右,另外1/3还没完成,还有1/3因为电脑系统炸了,commit 了但没有 push,然后就丢了。但是温湿度一期似乎也就这么停了,据说客户送给我们了。让我们直接做二期,据说是明年必定要做的项目了。这是第一个接触到的蓝牙项目,采用BabyBluetooth
框架,对蓝牙通讯有了基本了解。
# 蓝牙灯
12月14日-12月21日,第二个单干的项目,也是第二个蓝牙项目。这个项目没有采用BabyBluetooth
框架,而是采用iOS原生的CoreBluetooth
,CB 框架比 Baby 的难上手,毕竟 Baby 已经把所有的 Delegate 都封装成了 Block,而 CB 就比较恶心了,代理方法满天飞。但这个项目有 Demo,源码中的加密解密通讯已经写好了,所以调用起来比较方便。这个项目比较简单,界面比较少,只做了一星期,但是也学到不少,主要是学会看通讯协议文档,还封装了一些常用的 Tool,比如音乐播放。年前需要把对方新加的需求给实现一下,后面已经就没啥事了吧。
# 优医惠一期
11月14日-1月10日,医生端由我和 Lpz 做,用户端整个 iOS 组都加入了,第一个三人一起开发的项目。其中我主要负责搭建整体框架和环信 IM 部分,以及一些技术上的实现方案设计。产品上的业务交互设计就不说了,据说二期要全部打掉重改。我个人觉得最好整个项目都重构,在不正当的业务逻辑下,技术上的实现有时会很骚,有时候很容易出 Bug。另外,平心而论,这个项目真的很坑很恶心。交互与开发并行,炸得都不知道是什么鬼东西。敏捷开发?全都太年轻。
# 顺丰大当家
1月10日-/,现在还在进行的项目,整个iOS组都加入了,第二次三人合作。就 iOS 端来讲,这是目前做得最好的一个项目。好在哪里?
- 技术储备足够了,在 MVVM架构 + RAC 框架的配合下,使我们的代码更容易被他人看懂并调用。现在用他人的代码,需要沟通的成本已经很低了,基本不用问,或者只问一下类名叫什么,因为类比较多比较难找,搜起来比较快。除此之外,不需要太多的言语与手把手教学操作了。
- 自己的类库也多了,常用的第三方框架也基本齐全了。快速开发,完美实现。
- 需求明确,微信公众号已经运行,客户量级大,各方面都比较成熟。虽然对方后台很垃圾,但至少需求一确定就没有再加了,只有删,没增,只是逻辑小改,但完全可以接受。这是以往任何一个项目都没有的。
- 在有明确目标的情况下,大家放下其他项目,专心只做这个项目的时候,精神抖擞整个团队精神状态等都很好,氛围很足,就是要搞好它,鸡血完全不用打。
所以说这个项目好。而作为一个移动端开发负责人来说,还是可以发现很多问题的。比如安卓端4个人协作而 coding 上的分支居然只有一条?在开什么玩笑?我 pull 下来之后居然跑不起来,还要改一点 bug 才能跑,这又是什么梗?有时候一天的 commit 都是同一个人的?呵呵... 有机会,再理过。
# 团队项目总结
项目 | 时间 | 开发人员 | 完成情况 |
---|---|---|---|
验房宝 | 3月17日-4月20日 | Bingo、Arc | 完成 |
案场管家 | 4月19日-5月17日 | Bingo、Arc、(前Near) | 完成 |
OTG二期 | 永生项目 | Arc | 完成 |
金锄头一期 | 5月10日-9月22日 | Bingo | 完成 |
金锄头二期 | 9月22日-11月14日 | Bingo、Lpz | 完成 |
一元领宝 | 7月9日-9月21日 | Bingo、Lpz | 完成 |
温湿度一期 | 10月19日-11月4日 | Bingo、Lpz | 终止 |
蓝牙灯 | 12月14日-12月21日 | Bingo | 完成 |
蒙牛 | 11月1日-11月14日 | Arc | 完成 |
优医惠一期 | 11月14日-1月10日 | Bingo、Arc、Lpz | 完成 |
顺丰大当家 | 1月10日-/ | Bingo、Arc、Lpz | 进行中 |
# 技术总结
- MVVM+RAC
- 封装类库框架,统一 CocoaPods 管理依赖库
- DKExtension
- DKPay
- DKPhotosPicker
- DKProgressHUD
- DKPullDownMenu
- DKScanner
- DKViewPage
好像也没其它技术可言,更多的还是项目经验,积累代码,封装以便复用。
# 明年期望
iOS方面,希望能带动团队开发
DKKIT
,集成整合一个蛋壳框架,包含大部分常用的框架和SDK。虽然技术是廉价的,第三方一大堆,但是坑也不少,我希望还是由团队自己写自己维护。希望上级领导能理解并合理安排时间,留点时间给我们,其实利益是巨大的。人员方面希望能多一个或者两个 iOS 开发者,因为如果想做的事情多,人员安排上不足就完全放不开手脚。(或许注定一辈子码农命呢哈哈哈...)
其它方面,有想法重拾 JavaWeb,自己写接口。可能会考虑用 nodejs 开发并维护一个爬虫脚本,有抓取某个领域的大数据的目标。另外服务器配置方面也需要加强,现在很多人工操作都是没有技术含量的,像打包发布测试版本 apk 和 ipa ,这种垃圾操作就应该基于 webhook 一键部署。(有时间再说)