2018年工作总结

本文仅为我18年绩效答辩PPT内容记录,记录我18年的全年工作重点和成绩。

工作概述

2018年我转岗到新的业务线,这里仅以ZC代替(为了不泄露公司内容)。此业务线背景是:公司第一款App,也是公司最核心业务、和最赚钱的业务。同时也是历史最悠久的App,经历版本最多,维护人员更迭最多的项目。

我接手项目后,梳理一下项目整体框架和代码后,对比后续的产品需求后,发现我们面临三个主要问题。

一、历史包袱重

  • 代码不规范,各种风格共存。
  • 文件及目录混乱,无规范。
  • 没有整体设计,MVC MVVM等多种模式共存。
  • 大量使用三方库(60+),且同一功能三方库有好几个。
  • 使用很多技术,但是都浅尝则止。(例如:iconfont, RAC等)
  • 接口处理不规范,直接使用字典取值,文档的缺失导致后期维护成本很大。
  • 线上Crash很多

二、 新需求的挑战

  • 如何加入新的业务线,并且业务线可以很灵活接入和去除?
  • 业务线如何最大限度的移植和复用?
  • 架构如何设计才能支撑今后2-3年的发展?

三、 团队建设难题

  • 原有团队和新团队成员如何磨合?
  • 两个团队风格如何统一?

针对以上三点问题,我对2018年全年任务进行整体规划:

97652-cf057ca6f572b884.png
修炼“内功”

下面分别介绍下这五个步骤我是如何开展工作的。

一、 架构设计

  • 物理架构调整:将物理目录结构和工程目录结构采用分层架构的方式进行整理。使项目结构清晰,方便文件的组织和查找。
  • 软件架构调整:各个业务线都采用分层架构,UI和业务分离、业务和接口分离,降低代码耦合性,有效提高代码质量。
  • 业务架构调整:业务组件化,业务代码完全采用Cocoapods组件化方式,业务代码之间完全隔离,可以单独开发、调试、发布业务组件,最大限度的复用业务组件,也可以很灵活的接入和去除。
97652-992a34f7d8dcba7c.png
整体架构

业务组件化后,为了开发和调试方便,采用的使直接在主工程中采用Development方式接入开发,由于涉及的业务线比较多,需要同时操作多个git repo,所以我使用bash和python对git命令进行了封装,可以实现:

  1. 一键配置开发环境
  2. 同时操作多个repo仓库
    避免具体开发人员频繁切换路径提交代码,有效的提高工作效率。

另外在设计完架构的同时,也把CI提前搭建完毕,从开发到集成测试整套流程,有效保证后续开发进度。

二、业务重构
重构目标有“四性”:可读性、可维护性、可扩展性、可移植性。

97652-7f3c1c3e06897298.png
从上至下依次进行

重构中为了保证代码规范性和一致性,引入SpaceCommander工具,对git commit进行绑定,只有符合规范的代码才能提交到repo上。

三、提升稳定性

  1. 整理《iOS常见Crash原因及解决方案》。对我们线上的前十种Crash进行分析和整理,避免编码过程中再次犯同样的错误。
  2. 在Jenkins编译中集成OCLint对代码进行静态分析,针对有隐患的代码进行修改。
  3. 既要在必要的里程碑节点进行CodeReview ,同时也对每个commit(非UI部分)进行review。
  4. 自研CG项目,对线上Crash进行拦截,为后期分析和修改提供基础,同时提高用户体验。
97652-058e30f6c12bf8e4.png
新老版本线上崩溃对比

四、优化开发流程

97652-ec2863bdf138073c.png
Git Flow流程规范
  • commit 注释规范。
简化格式:git commit -m "<type>: <subject>"
<type>: <subject>
# type 字段包含:
# feat:       新功能(feature)
# fix:         bug jira 编号 + 修补bug描述
# refactor:重构(即不是新增功能,也不是修改bug的代码变动)
# style:    格式(不影响代码运行的变动)
# chore:  构建过程或辅助工具的变动
# revert:  回滚到上一个版本
# docs:   文档(documentation)
# test:    增加测试
# demo: demo改动
  • 分支命名策略
  • Bug回复规范
  • 代码Review规范
  • 打包流程规范
    等等

五、团队建设

针对两个不同团队成员的相互融合,特别使两地的团队来说,沟通是最大的困难。团建聚餐和旅游是最有效的熟悉方式,其次是内部培训,也是沟通交流的好办法。

97652-0e8d5e8c8c7f9793.png
围绕四步进行
  • 团队目标:最最重要的一点。分享我觉得特别有道理的一句话:“对于盲目航行的帆船,什么风都是逆风。” 只有团队目标一致了,大家才能劲往一处使,才能共同合力完成我们的任务。所以不论是周会还是平时沟通,多跟大家强调我们今年的目标。
  • 梯队建设:业务线增加负责人,负责人带1-2个人负责一个业务线开发,既能培养人,也有效分担我的压力和精力。
  • 技术分享:这里强调下,我们的特色是做系列培训,比如今年做的Swift培训,由大家提出有哪些主题需要培训,并且每个人都认领一个主题进行准备,每周给大家分享自己学习的内容,以此达到锻炼团队成员的目的。既能让团队成员直接更熟悉,也能打造团队技术氛围,同时锻炼成员的软技能,一箭三雕!

以上内容,基本就是我今年做的工作概述,主要围绕"内功"这个词进行,虽然看起来内容不是特别多,但是实际上,既要保证项目的顺利进行,又要同时进行重构开发,还要照顾到每个人员,所以2018年我真的是非常累,但是最后成果也非常好。不论是负责的项目还是成员答辩情况,感觉2018年没有白过,收获多多。

希望2019年的计划能顺利进行,并有更好的成果输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值