2018年工作總結(jié)

本文僅為我18年績(jī)效答辯PPT內(nèi)容記錄,記錄我18年的全年工作重點(diǎn)和成績(jī)。

工作概述

2018年我轉(zhuǎn)崗到新的業(yè)務(wù)線,這里僅以ZC代替(為了不泄露公司內(nèi)容)。此業(yè)務(wù)線背景是:公司第一款A(yù)pp,也是公司最核心業(yè)務(wù)、和最賺錢的業(yè)務(wù)。同時(shí)也是歷史最悠久的App,經(jīng)歷版本最多,維護(hù)人員更迭最多的項(xiàng)目。

我接手項(xiàng)目后,梳理一下項(xiàng)目整體框架和代碼后,對(duì)比后續(xù)的產(chǎn)品需求后,發(fā)現(xiàn)我們面臨三個(gè)主要問(wèn)題。

一、歷史包袱重

  • 代碼不規(guī)范,各種風(fēng)格共存。
  • 文件及目錄混亂,無(wú)規(guī)范。
  • 沒(méi)有整體設(shè)計(jì),MVC MVVM等多種模式共存。
  • 大量使用三方庫(kù)(60+),且同一功能三方庫(kù)有好幾個(gè)。
  • 使用很多技術(shù),但是都淺嘗則止。(例如:iconfont, RAC等)
  • 接口處理不規(guī)范,直接使用字典取值,文檔的缺失導(dǎo)致后期維護(hù)成本很大。
  • 線上Crash很多

二、 新需求的挑戰(zhàn)

  • 如何加入新的業(yè)務(wù)線,并且業(yè)務(wù)線可以很靈活接入和去除?
  • 業(yè)務(wù)線如何最大限度的移植和復(fù)用?
  • 架構(gòu)如何設(shè)計(jì)才能支撐今后2-3年的發(fā)展?

三、 團(tuán)隊(duì)建設(shè)難題

  • 原有團(tuán)隊(duì)和新團(tuán)隊(duì)成員如何磨合?
  • 兩個(gè)團(tuán)隊(duì)風(fēng)格如何統(tǒng)一?

針對(duì)以上三點(diǎn)問(wèn)題,我對(duì)2018年全年任務(wù)進(jìn)行整體規(guī)劃:

修煉“內(nèi)功”

下面分別介紹下這五個(gè)步驟我是如何開(kāi)展工作的。

一、 架構(gòu)設(shè)計(jì)

  • 物理架構(gòu)調(diào)整:將物理目錄結(jié)構(gòu)和工程目錄結(jié)構(gòu)采用分層架構(gòu)的方式進(jìn)行整理。使項(xiàng)目結(jié)構(gòu)清晰,方便文件的組織和查找。
  • 軟件架構(gòu)調(diào)整:各個(gè)業(yè)務(wù)線都采用分層架構(gòu),UI和業(yè)務(wù)分離、業(yè)務(wù)和接口分離,降低代碼耦合性,有效提高代碼質(zhì)量。
  • 業(yè)務(wù)架構(gòu)調(diào)整:業(yè)務(wù)組件化,業(yè)務(wù)代碼完全采用Cocoapods組件化方式,業(yè)務(wù)代碼之間完全隔離,可以單獨(dú)開(kāi)發(fā)、調(diào)試、發(fā)布業(yè)務(wù)組件,最大限度的復(fù)用業(yè)務(wù)組件,也可以很靈活的接入和去除。
整體架構(gòu)

業(yè)務(wù)組件化后,為了開(kāi)發(fā)和調(diào)試方便,采用的使直接在主工程中采用Development方式接入開(kāi)發(fā),由于涉及的業(yè)務(wù)線比較多,需要同時(shí)操作多個(gè)git repo,所以我使用bash和python對(duì)git命令進(jìn)行了封裝,可以實(shí)現(xiàn):

  1. 一鍵配置開(kāi)發(fā)環(huán)境
  2. 同時(shí)操作多個(gè)repo倉(cāng)庫(kù)
    避免具體開(kāi)發(fā)人員頻繁切換路徑提交代碼,有效的提高工作效率。

另外在設(shè)計(jì)完架構(gòu)的同時(shí),也把CI提前搭建完畢,從開(kāi)發(fā)到集成測(cè)試整套流程,有效保證后續(xù)開(kāi)發(fā)進(jìn)度。

二、業(yè)務(wù)重構(gòu)
重構(gòu)目標(biāo)有“四性”:可讀性、可維護(hù)性、可擴(kuò)展性、可移植性。

從上至下依次進(jìn)行

重構(gòu)中為了保證代碼規(guī)范性和一致性,引入SpaceCommander工具,對(duì)git commit進(jìn)行綁定,只有符合規(guī)范的代碼才能提交到repo上。

三、提升穩(wěn)定性

  1. 整理《iOS常見(jiàn)Crash原因及解決方案》。對(duì)我們線上的前十種Crash進(jìn)行分析和整理,避免編碼過(guò)程中再次犯同樣的錯(cuò)誤。
  2. 在Jenkins編譯中集成OCLint對(duì)代碼進(jìn)行靜態(tài)分析,針對(duì)有隱患的代碼進(jìn)行修改。
  3. 既要在必要的里程碑節(jié)點(diǎn)進(jìn)行CodeReview ,同時(shí)也對(duì)每個(gè)commit(非UI部分)進(jìn)行review。
  4. 自研CG項(xiàng)目,對(duì)線上Crash進(jìn)行攔截,為后期分析和修改提供基礎(chǔ),同時(shí)提高用戶體驗(yàn)。
新老版本線上崩潰對(duì)比

四、優(yōu)化開(kāi)發(fā)流程

Git Flow流程規(guī)范
  • commit 注釋規(guī)范。
簡(jiǎn)化格式:git commit -m "<type>: <subject>"
<type>: <subject>
# type 字段包含:
# feat:       新功能(feature)
# fix:         bug jira 編號(hào) + 修補(bǔ)bug描述
# refactor:重構(gòu)(即不是新增功能,也不是修改bug的代碼變動(dòng))
# style:    格式(不影響代碼運(yùn)行的變動(dòng))
# chore:  構(gòu)建過(guò)程或輔助工具的變動(dòng)
# revert:  回滾到上一個(gè)版本
# docs:   文檔(documentation)
# test:    增加測(cè)試
# demo: demo改動(dòng)
  • 分支命名策略
  • Bug回復(fù)規(guī)范
  • 代碼Review規(guī)范
  • 打包流程規(guī)范
    等等

五、團(tuán)隊(duì)建設(shè)

針對(duì)兩個(gè)不同團(tuán)隊(duì)成員的相互融合,特別使兩地的團(tuán)隊(duì)來(lái)說(shuō),溝通是最大的困難。團(tuán)建聚餐和旅游是最有效的熟悉方式,其次是內(nèi)部培訓(xùn),也是溝通交流的好辦法。

圍繞四步進(jìn)行
  • 團(tuán)隊(duì)目標(biāo):最最重要的一點(diǎn)。分享我覺(jué)得特別有道理的一句話:“對(duì)于盲目航行的帆船,什么風(fēng)都是逆風(fēng)?!?只有團(tuán)隊(duì)目標(biāo)一致了,大家才能勁往一處使,才能共同合力完成我們的任務(wù)。所以不論是周會(huì)還是平時(shí)溝通,多跟大家強(qiáng)調(diào)我們今年的目標(biāo)。
  • 梯隊(duì)建設(shè):業(yè)務(wù)線增加負(fù)責(zé)人,負(fù)責(zé)人帶1-2個(gè)人負(fù)責(zé)一個(gè)業(yè)務(wù)線開(kāi)發(fā),既能培養(yǎng)人,也有效分擔(dān)我的壓力和精力。
  • 技術(shù)分享:這里強(qiáng)調(diào)下,我們的特色是做系列培訓(xùn),比如今年做的Swift培訓(xùn),由大家提出有哪些主題需要培訓(xùn),并且每個(gè)人都認(rèn)領(lǐng)一個(gè)主題進(jìn)行準(zhǔn)備,每周給大家分享自己學(xué)習(xí)的內(nèi)容,以此達(dá)到鍛煉團(tuán)隊(duì)成員的目的。既能讓團(tuán)隊(duì)成員直接更熟悉,也能打造團(tuán)隊(duì)技術(shù)氛圍,同時(shí)鍛煉成員的軟技能,一箭三雕!

以上內(nèi)容,基本就是我今年做的工作概述,主要圍繞"內(nèi)功"這個(gè)詞進(jìn)行,雖然看起來(lái)內(nèi)容不是特別多,但是實(shí)際上,既要保證項(xiàng)目的順利進(jìn)行,又要同時(shí)進(jìn)行重構(gòu)開(kāi)發(fā),還要照顧到每個(gè)人員,所以2018年我真的是非常累,但是最后成果也非常好。不論是負(fù)責(zé)的項(xiàng)目還是成員答辯情況,感覺(jué)2018年沒(méi)有白過(guò),收獲多多。

希望2019年的計(jì)劃能順利進(jìn)行,并有更好的成果輸出。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容