苦逼并思考著——我的2017年總結(jié)

前陣子出去玩了一趟,回來(lái)思襯著年度總結(jié)還沒(méi)寫(xiě)症革,就過(guò)來(lái)補(bǔ)了。

回看鸯旁,在ZStack待了1年多噪矛,從30多人到團(tuán)隊(duì)到近百人團(tuán)隊(duì),從A輪前到B輪展望——有好有壞铺罢,盡收眼里艇挨。一句話概括:我肥了,也變強(qiáng)了韭赘。

今年在內(nèi)部GitLab的Activity記錄(六月的時(shí)候我們從GitHub上切到了GitLab):


接下來(lái)說(shuō)說(shuō)今年我在工作中意識(shí)到的一些事情吧——可能說(shuō)起來(lái)是有點(diǎn)平淡無(wú)奇缩滨。

自動(dòng)化測(cè)試是最好的保證手段之一

今年2月的時(shí)候,ZStack的bug累積到了一定程度泉瞻。之前的自動(dòng)化測(cè)試框架并不完美脉漏,因難寫(xiě)、跑的慢等原因而坐著冷板凳袖牙。

然后便是老板寫(xiě)出了新的測(cè)試框架侧巨,之后一聲令下,大家開(kāi)始了沒(méi)天沒(méi)地fix bug鞭达。利用新的intergration test司忱,有效的固化了戰(zhàn)果。使原有代碼處于較為穩(wěn)定的狀態(tài)畴蹭,才開(kāi)始快速的feature迭代坦仍。那是1.10的版本。

之后是2.0 UI叨襟,使用了新的框架vuejs繁扎。踩了很多坑,最可怕的是在寫(xiě)的時(shí)候沒(méi)有考慮到怎么去測(cè)糊闽,致使后來(lái)前端一直是開(kāi)發(fā)組的心頭大患锻离。測(cè)試團(tuán)隊(duì)的大量資源也耗損在上面铺峭。如果有自動(dòng)化測(cè)試cover,完全可以省很多資源汽纠。

我之前的創(chuàng)業(yè)小伙伴也向我咨詢(xún)過(guò)如何保證bug不regression卫键。我的答案是:寫(xiě)自動(dòng)化測(cè)試。

  • 今天你寫(xiě)了A模塊虱朵,并且手動(dòng)測(cè)試了A模塊的10個(gè)功能...
  • 明天你寫(xiě)了B模塊莉炉,并且手動(dòng)測(cè)試了B模塊的20個(gè)功能和A模塊的10個(gè)功能...
  • 明天你寫(xiě)了B模塊,并且手動(dòng)測(cè)試了C模塊的40個(gè)功能和B模塊的20個(gè)功能還有A模塊的10個(gè)功能...
  • ....

似乎聽(tīng)起來(lái)并不現(xiàn)實(shí)碴犬。這些活只能交給自動(dòng)化測(cè)試——讓機(jī)器來(lái)保證你的功能點(diǎn)是否出現(xiàn)了問(wèn)題絮宁。

編寫(xiě)可擴(kuò)展的代碼——架構(gòu)之美

小伙伴還和我提到過(guò),項(xiàng)目的迭代速度到一定程度上會(huì)變得非常慢服协。要不就是改一點(diǎn)點(diǎn)就觸發(fā)bug绍昂。

那個(gè)時(shí)候我就開(kāi)始思考了,對(duì)比我現(xiàn)在所在的ZStack偿荷,為什么項(xiàng)目迭代可以這么快窘游?

我翻了很多相關(guān)的書(shū)籍,也看了一些技術(shù)分享跳纳。最后還是回到了平時(shí)自己較為熟悉的ZStack中探索架構(gòu)的秘密忍饰。故而,我寫(xiě)了一個(gè)系列的文章ZStack博文寺庄,其中ZStack源碼剖析:如何在百萬(wàn)行代碼中快速迭代有所提到艾蓝,之后還會(huì)更新上來(lái)一些相關(guān)文章。不得不說(shuō)斗塘,ZStack是我目前碰到過(guò)的大項(xiàng)目里代碼質(zhì)量較高的一個(gè)赢织。

編寫(xiě)可維護(hù)的代碼——Clean Code與重構(gòu)

除了架構(gòu),還有代碼整潔之道和敢于重構(gòu)馍盟。

代碼整潔有利于后面人的維護(hù)敌厘,減少潛在的人力成本,在此基礎(chǔ)上產(chǎn)生的代碼將會(huì)更加的穩(wěn)定朽合。

而ZStack本身是一個(gè)開(kāi)源的軟件項(xiàng)目俱两,因此對(duì)代碼質(zhì)量要求是偏高的。每一行代碼的輸出都是經(jīng)過(guò)Review的曹步。

重構(gòu)則是一門(mén)藝術(shù)宪彩,在測(cè)試覆蓋率較高的情況下,我們可以盡情的重構(gòu)讲婚,就像藝術(shù)家在他的畫(huà)布上盡情創(chuàng)作一般尿孔。同樣,這也是為了代碼整潔。

再之就是面向接口編程活合,我在關(guān)于設(shè)計(jì)模式有略提到雏婶。

以上三點(diǎn)我在學(xué)生時(shí)代就有所耳聞,但卻沒(méi)有做過(guò)較為完全的實(shí)踐白指。就現(xiàn)在看來(lái)留晚,這些技巧在項(xiàng)目的快速迭代中蘊(yùn)含著巨大的威力。

團(tuán)隊(duì)告嘲、管理與溝通還有效率

我之前工作待過(guò)的技術(shù)團(tuán)隊(duì)人數(shù)一般都是較少的错维,而目前在ZStack技術(shù)人員可能有總?cè)藬?shù)的一半。早期在人數(shù)較少的時(shí)候溝通成本極低橄唬,喊一聲大家就全知道了赋焕。但在人數(shù)多起來(lái)以后是很能做到“全局一致性”的,比如:

  • 有些人并不知道這件事發(fā)生了仰楚、某些規(guī)則改變了隆判,所以他還是用之前的方法在做這件事,可能會(huì)做錯(cuò)僧界、或者相對(duì)很慢侨嘀。
  • 如果通過(guò)開(kāi)會(huì)來(lái)解決這種問(wèn)題,一些團(tuán)隊(duì)的關(guān)鍵人物真正的產(chǎn)出時(shí)間可能會(huì)減少捎泻,都是在開(kāi)會(huì)sync狀態(tài)。

再者就是管理上的問(wèn)題埋哟,人數(shù)多起來(lái)以后管理難度并不是線性增長(zhǎng)的笆豁。這里面有很多需要細(xì)細(xì)思考的,介于篇幅赤赊,以后有機(jī)會(huì)的話我想詳細(xì)講一講闯狱。

最后是效率——大公司的通病就是瞎忙活,大家看著很忙抛计,其實(shí)產(chǎn)出都很少哄孤,最后就會(huì)變成一只行動(dòng)緩慢的巨獸。而小公司的優(yōu)勢(shì)就體現(xiàn)在行動(dòng)靈活上吹截,然在流程及生產(chǎn)力瘦陈、生產(chǎn)工具落后的情況下優(yōu)先考慮堆人,如果收益是線性對(duì)數(shù)增長(zhǎng)波俄,恐怕成本(時(shí)間+金錢(qián))就是線性增長(zhǎng)了晨逝。

行業(yè)的重要性

之前提到了成本和收益。這和所在行業(yè)也有很大的關(guān)系懦铺,如果在2018乃至更后捉貌,作為一名程序員還從事在項(xiàng)目型公司(即外包公司),平均待遇相比別的行業(yè)肯定會(huì)低一些,這在相同的工作年限及大樣本看來(lái)即是如此趁窃。同樣牧挣,不同的類(lèi)型的公司有不同高低的瓶頸。堆人堆到了一定程度醒陆,收益和成本便不再是正比成長(zhǎng)瀑构。而且上面也提到了,人多了管理并不好做统求。

最后再說(shuō)學(xué)習(xí)

我看了看去年的年度總結(jié)中定的學(xué)習(xí)目標(biāo)检碗,約有一半是完成的,然而額外也收獲了很多——有些是應(yīng)該被列入計(jì)劃內(nèi)的码邻,有些則是性子來(lái)了順便就上手開(kāi)始了折剃。這應(yīng)了那句話——計(jì)劃趕不上變化。我將不再制定一些詳細(xì)的計(jì)劃像屋,不過(guò)怕犁,前進(jìn)還是永恒的主題。

就是這樣己莺。

附上今年看到的一些好文(當(dāng)然和文章主題相關(guān)):

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末案怯,一起剝皮案震驚了整個(gè)濱河市君旦,隨后出現(xiàn)的幾起案子咙轩,更是在濱河造成了極大的恐慌薪棒,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件餐蔬,死亡現(xiàn)場(chǎng)離奇詭異麦锯,居然都是意外死亡捞魁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)离咐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谱俭,“玉大人奉件,你說(shuō)我怎么就攤上這事±ブ” “怎么了县貌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)凑懂。 經(jīng)常有香客問(wèn)我煤痕,道長(zhǎng),這世上最難降的妖魔是什么接谨? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任摆碉,我火速辦了婚禮,結(jié)果婚禮上脓豪,老公的妹妹穿的比我還像新娘巷帝。我一直安慰自己,他們只是感情好扫夜,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布楞泼。 她就那樣靜靜地躺著,像睡著了一般笤闯。 火紅的嫁衣襯著肌膚如雪堕阔。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天颗味,我揣著相機(jī)與錄音超陆,去河邊找鬼。 笑死浦马,一個(gè)胖子當(dāng)著我的面吹牛时呀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捐韩,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼退唠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鹃锈!你這毒婦竟也來(lái)了荤胁?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤屎债,失蹤者是張志新(化名)和其女友劉穎仅政,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體盆驹,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圆丹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了躯喇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辫封。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡硝枉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出倦微,到底是詐尸還是另有隱情妻味,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布欣福,位于F島的核電站责球,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拓劝。R本人自食惡果不足惜雏逾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郑临。 院中可真熱鬧栖博,春花似錦、人聲如沸牧抵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)犀变。三九已至妹孙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間获枝,已是汗流浹背蠢正。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留省店,地道東北人嚣崭。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像懦傍,于是被迫代替她去往敵國(guó)和親雹舀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359