美文网首页
2018年工作总结

2018年工作总结

作者: TimBao | 来源:发表于2019-02-14 22:49 被阅读2次

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

    工作概述

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

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

    一、历史包袱重

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

    二、 新需求的挑战

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

    三、 团队建设难题

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

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

    修炼“内功”

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

    一、 架构设计

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

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

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

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

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

    从上至下依次进行

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

    三、提升稳定性

    1. 整理《iOS常见Crash原因及解决方案》。对我们线上的前十种Crash进行分析和整理,避免编码过程中再次犯同样的错误。
    2. 在Jenkins编译中集成OCLint对代码进行静态分析,针对有隐患的代码进行修改。
    3. 既要在必要的里程碑节点进行CodeReview ,同时也对每个commit(非UI部分)进行review。
    4. 自研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年的计划能顺利进行,并有更好的成果输出。

    相关文章

      网友评论

          本文标题:2018年工作总结

          本文链接:https://www.haomeiwen.com/subject/bveeeqtx.html