本文仅为我18年绩效答辩PPT内容记录,记录我18年的全年工作重点和成绩。
工作概述
2018年我转岗到新的业务线,这里仅以ZC代替(为了不泄露公司内容)。此业务线背景是:公司第一款App,也是公司最核心业务、和最赚钱的业务。同时也是历史最悠久的App,经历版本最多,维护人员更迭最多的项目。
我接手项目后,梳理一下项目整体框架和代码后,对比后续的产品需求后,发现我们面临三个主要问题。
一、历史包袱重
- 代码不规范,各种风格共存。
- 文件及目录混乱,无规范。
- 没有整体设计,MVC MVVM等多种模式共存。
- 大量使用三方库(60+),且同一功能三方库有好几个。
- 使用很多技术,但是都浅尝则止。(例如:iconfont, RAC等)
- 接口处理不规范,直接使用字典取值,文档的缺失导致后期维护成本很大。
- 线上Crash很多
二、 新需求的挑战
- 如何加入新的业务线,并且业务线可以很灵活接入和去除?
- 业务线如何最大限度的移植和复用?
- 架构如何设计才能支撑今后2-3年的发展?
三、 团队建设难题
- 原有团队和新团队成员如何磨合?
- 两个团队风格如何统一?
针对以上三点问题,我对2018年全年任务进行整体规划:
修炼“内功”下面分别介绍下这五个步骤我是如何开展工作的。
一、 架构设计
- 物理架构调整:将物理目录结构和工程目录结构采用分层架构的方式进行整理。使项目结构清晰,方便文件的组织和查找。
- 软件架构调整:各个业务线都采用分层架构,UI和业务分离、业务和接口分离,降低代码耦合性,有效提高代码质量。
- 业务架构调整:业务组件化,业务代码完全采用Cocoapods组件化方式,业务代码之间完全隔离,可以单独开发、调试、发布业务组件,最大限度的复用业务组件,也可以很灵活的接入和去除。
业务组件化后,为了开发和调试方便,采用的使直接在主工程中采用Development方式接入开发,由于涉及的业务线比较多,需要同时操作多个git repo,所以我使用bash和python对git命令进行了封装,可以实现:
- 一键配置开发环境
- 同时操作多个repo仓库
避免具体开发人员频繁切换路径提交代码,有效的提高工作效率。
另外在设计完架构的同时,也把CI提前搭建完毕,从开发到集成测试整套流程,有效保证后续开发进度。
二、业务重构
重构目标有“四性”:可读性、可维护性、可扩展性、可移植性。
重构中为了保证代码规范性和一致性,引入SpaceCommander工具,对git commit进行绑定,只有符合规范的代码才能提交到repo上。
三、提升稳定性
- 整理《iOS常见Crash原因及解决方案》。对我们线上的前十种Crash进行分析和整理,避免编码过程中再次犯同样的错误。
- 在Jenkins编译中集成OCLint对代码进行静态分析,针对有隐患的代码进行修改。
- 既要在必要的里程碑节点进行CodeReview ,同时也对每个commit(非UI部分)进行review。
- 自研CG项目,对线上Crash进行拦截,为后期分析和修改提供基础,同时提高用户体验。
四、优化开发流程
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规范
- 打包流程规范
等等
五、团队建设
围绕四步进行针对两个不同团队成员的相互融合,特别使两地的团队来说,沟通是最大的困难。团建聚餐和旅游是最有效的熟悉方式,其次是内部培训,也是沟通交流的好办法。
- 团队目标:最最重要的一点。分享我觉得特别有道理的一句话:“对于盲目航行的帆船,什么风都是逆风。” 只有团队目标一致了,大家才能劲往一处使,才能共同合力完成我们的任务。所以不论是周会还是平时沟通,多跟大家强调我们今年的目标。
- 梯队建设:业务线增加负责人,负责人带1-2个人负责一个业务线开发,既能培养人,也有效分担我的压力和精力。
- 技术分享:这里强调下,我们的特色是做系列培训,比如今年做的Swift培训,由大家提出有哪些主题需要培训,并且每个人都认领一个主题进行准备,每周给大家分享自己学习的内容,以此达到锻炼团队成员的目的。既能让团队成员直接更熟悉,也能打造团队技术氛围,同时锻炼成员的软技能,一箭三雕!
以上内容,基本就是我今年做的工作概述,主要围绕"内功"这个词进行,虽然看起来内容不是特别多,但是实际上,既要保证项目的顺利进行,又要同时进行重构开发,还要照顾到每个人员,所以2018年我真的是非常累,但是最后成果也非常好。不论是负责的项目还是成员答辩情况,感觉2018年没有白过,收获多多。
希望2019年的计划能顺利进行,并有更好的成果输出。
网友评论