专栏文章 2018,回顧與反省

Lee · 2018年12月21日 · 最后由 tt 回复于 2018年12月27日 · 2665 次阅读

2018 開端

2018 的開端...我已經忘了。我只記得的大概是,完成了幾個後台 API,把舊網站的備份系統 JS 化,然後努力構築後台的快取機能,並且寫測試跟文檔。值得一提的是透過構築快取機能,我反省了一件事情,其實事情的開端是我 2017 年有點發瘋,2017 年我受到從前端轉後端 (被迫轉任),而這調令我到現在還不認為我是該被轉調的那個,因為我不認為我自己做錯什麼,但卻被壓到一個必須從頭開始的地方,為此我內心有怨,而我的反彈法就是用了整個 2017 年都搞幾件奇怪的事情,舊網站的備份自動化&API blueprint 的自動轉換成 HTML 的程式,雖然是小東西但因為做成了,我又自滿了...我開始想一堆複雜的東西並且把它代碼化,然後寫到亂七八糟以至於沒人看得懂代碼背後的思考模式,因此被前輩罵了,而我也反省過來,把自己做快取機能梳理一下,基本上從頭寫了一次。

4 月,日本新一期 (工作週期) 的開始,某位前輩表示:「你第一位老大希望你回去跟他工作。」我內心 OS:『啥!!!』

填坑之路,不由分說

2018 年 5 月,在第一位老大的要求下,我回到他手底下做事。原因是這次他要扛的坑 (後台 API) 太大,而且他也還有其他的坑要填,他跟新人妹子大概填不完,加上新人妹子表示不會做測試,所以老大向上面要求一位可以填坑的人員,並且指名我。而我 (-_-;;;) 臉上是沒表現這個表情,但很想問為什麼現在才叫我填測試的坑,不過這位老大開口,我不會拒絕,所以儘管有點不情願,我還是只能跳下去。開始做了之後,我才發現不是妹子沒有寫測試的能力,而是不知道怎麼組合kotlinSpring框架&Junit三者來跑測試,簡單來說就是她照書上寫好單元測試,但執行測試時卻指傳回失敗,加上 log 紀錄都是英文...。我內心表示:『等等...這是開荒,不是填坑吧!!』但想歸想,還是查了查資料,把基本架構寫出來,然後寫好當然能跑的單元測試,然後待機...至於為什麼待機?因為連代碼都沒有,我是要怎麼跑測試。當然待機我也沒閒下來,我跑去把 log 功能寫進去,把 validator 驗證功能寫一寫,然後引入 Ascii doc 來弄文檔自動化 (老大的要求,我個人只寫代碼不寫文檔),然而當我弄好這一切之後,回頭看妹子也把其他能做的測試都寫好。但事情還沒結束,因為還有很多 API 都還沒寫,所以開始了真正的填坑之路。

7 月,坑填完一半,卻因為資料庫沒辦法異步操作,API 整體也沒到達老大的目標,所以架構變更 (webflux -> MVC),這次我終於忍不住,噴了一句:「什麼!!?」但由於妹子還對 MVC 的概念並不了解 (我個人並不知道她什麼科系出身,只是對於願意學的人,我沒有不教的理由),所以我只能硬著頭皮寫一個出來。寫完之後,其他部分還是由妹子進行改寫,讓我很無言的是因為老大身負其他坑的關係,所以妹子的 code review 也是我來 (應該說整個專案的 code review 都是我來 Orz,我又不是高手),而且我老大試調 API 是寫網頁去處理,因此妹子在試調時候,也是透過網頁,也因此我還要多教 JS 跟 CSS。還好有位高手跑來幫忙,我的工作量減少很多,而且我從這位高手身上偷學很多,我內心壓力也小了很多很多。並不是我怕教別人會害我沒工作,而是我不擅長教人,我很擔心我會不會把人嚇跑,然後我又得一個人默默填坑。

10 月,產品上線前夕,由於妹子不知道怎麼使用 jmeter,所以又是我上...但由於 jmeter 我也沒學過,所以嘗試寫了需要用到的測試用例,然後讓它跑,然後把結果轉給老大,讓他去想辦法。最後他跟妹子弄了一個報告出來,並且要求另一後台 (我這邊做的後台只持有顧客資料,商品資料是透過其他後台 API 取得) 必須提升伺服器性能,不然有一部分的顧客使用線上閱讀,可能會造成伺服器掛點,但報告提出之後改不改卻沒有下文。所以我只好開新坑,我去引進 redis 好減輕伺服器負荷。

回鍋前端,重新來過

11 月,產品上線一個月,老大跑來跟我說:「線上閱讀的書架部分,從書本取得到表示的消耗時間太久了。你後輩寫的 indexedDB 跟 WebWorker 的部分,事我當時並沒有時間做 code review,現在看起來有點奇怪,我想直接用別人做好的套件來重弄,你幫他寫個能用的東西出來。」我頓時無言以對,然後轉身去找能用的套件,當然老大手腳比較快先找到一個看上去不錯的,而我則看上另一個,兩者比較了一下,老大找到的那個套件比較好,所以我跟老大聯手寫了個練手的程式,為什麼說是練手?因為我寫到一半,我發現我根本不知道我後輩到底是怎麼進行處理,想重構我也不知道該寫甚麼機能出來,加上我連仕樣書都不知道要去哪裡挖,所以我直接跟老大提議,不如直接讓我在該專案上進行修改,老大也覺得這樣比較好,所以我正式回鍋前端。

先介紹一下我後輩,跟新人妹子不是同一位,是男性,國籍則保密,但因為不是日本人的關係,有些問題也因為言語不通很難問出口,而且想要像我這樣背靠無數工程師,也不知道去哪找,事實上他寫的東西並沒有錯,只是布局上有錯誤,導致整體表現上有問題。而且我認真看了一下專案整體內容,我那年用 CSS 奠定下的基礎也全部都被消滅,也就是說我的後輩們並沒有吃透我寫的東西,但這也不能怪他們,我老大是擅長 JS,而我這個擅長 CSS 的人卻被抓去做後端,因此他們想學也沒人能教。

當時我寫的東西其實也沒厲害到哪裡去,但由 CSS 決策一切畫面表現時,只因為 CSS 是固定的,你寫出來之後所看到的東西,就是將來產品上線後,使用者看到的東西,要出現玩脫的情況是非常少,但 JS 卻是主動變更畫面,當 CSS 沒有寫到位的時候,畫面出現異常表現反而是一種相當正常的情況。但這次我看到 CSS 的部分時,也有點小絕望,因為開啟專案的人根本沒有想到後面的發展,CSS 被人拆出變成單一專案去,然後根據寫好的固定模板來進行 CSS 修正,最讓我感覺到奇怪的是寫 CSS 的人,似乎沒有實際去驗證自己寫的東西正確還不正確,而是有鍋的話,寫 JS 的人扛著。不過現在卻變成我要填這個坑了,我卻還還在思考應該要怎麼填....

結語

再次回到前端,我又從頭開始,但我有沒有比 2016 的我更厲害?我不知道,因為 2018 的我不像 2016 的我一樣有幹勁,做不到鍵盤拿起來就敲,然後在無數失敗中尋找一次成功答案,2018 的我在做事情前,我會先思考這件事情該怎麼做,然後推敲它會怎麼發展,確定三策 (上中下) 之後,我才會開始落實它,當然在實現的途中,我還是不停在想有沒有更好的方法,或者有沒有哪種方法會推翻我的策略,然後不停地修正我的方向。

而今年有沒有遺憾?有的,新人妹子問了我一個問題,我卻沒有回答好,她問:「要怎樣才能像我一樣,能夠知道這麼多東西?」其實我被問的當下,我根本不知道怎麼回答。所以我隨便講了一個答案,我說:「請教 Google 老師之後,會去看很多個答案,然後透過這些答案不停延伸,自然會知道很多東西。」其實不是這樣的,我之所以知道很多東西,是因為我有 TesterHome 跟掘金的無數工程師當靠山,每天每天都在讀別人的文章。不會的東西就請教 Google 老師,或者回文請教諸位大佬,至於為什麼問 Google 老師在先,是因為我一直謹記思寒還是恆溫還是哪位大佬講過,問問題要問正確的問題,而不是沒思考就隨便扔出來的問題,因為能回答你的人只會比你更忙而已。

註:思寒跟恆溫是 TesterHome 的大佬

最後

我一個當開發的東西,也不是搞測試開發的,為什麼選擇在這裡發年末總結?因為今年有總回到起點的感覺,而這裡就是現在的我的起點,沒有接觸你們,別說走不出現在的我,搞不好已成路傍屍 (這不是在開玩笑,我來這裡雖然是為了學測試,但我當時的狀況很糟糕,卡在要不要離職的情況上,而且還是工作第一年的時候),而我沒有甚麼好分享的,唯一寫得出來的東西只有自己的經歷而已,所以儘管不在繼續做測試,還是該對你們說聲謝謝。

共收到 6 条回复 时间 点赞

先占座再看

樓主還是非常的敬業
通過樓主的樓主開發測試的角色無縫切換.......證明出:技術是王道
加油

这繁体中文 看的我眼疼😬

😂 虽然看懂了 也看完了 但我表示眼睛有点花

Lee #2 · 2018年12月26日 Author

@Stone
謝謝稱讚,一起加油吧

@SchrodingerCat1935
我只能說抱歉,我最多是丟給 google 老師,請他代轉換,只是今年懶得弄,明年再說。

@zhu_guinan163
第一次寫這個,現在回頭看看,被以前寫小說的習慣影響,這篇有點太接近那時候的風格,明年會注意

简体和繁体都是中文,别人愿意分享还是不要太挑剔。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册