程序員日常工作中如何正確的偷懶?

clipboard.png

又是一個豔陽天,張大胖像一個天真無邪的孩子屁顛屁顛的歡快的走進公司,做到辦公桌前,深情的打開了陪伴自己多年的電腦,如往常一樣按部就班的和他玩耍了起來,大老遠就聽到張大胖那裏噼裏啪啦敲鍵盤的聲音,透露着堅定和對夢想的執着,但似乎又讓人感受到一絲悲涼。

突然鍵盤的聲音戛然而止,只看到大胖愣住了,他看着旁邊公司剛發的檯曆,上面有個大大數字9201,對現在已經是2019年了的2月了,還有10個月就是2020年了,18年給自己立的 flag 到現在還沒開工。大胖此時陷入了沉思,他不想再讓19年重複18年的狀態 不想這樣碌碌無爲下去。大胖還是有比較強的自驅力,也是有理想的小夥兒,對前端技術充滿熱愛,希望可以成爲一個比較 nb 的程序員,大胖算着自己還有幾年就要奔三了,26 7啷噹歲已不年輕了,不由的悲從中來。

大胖傷感的是工作太忙,每天忙於業務開發,很少能擠出時間來做自己想做的事兒,甚是無奈。
大胖深深的明白如果不提升自己的能力,不超越這個層次到哪裏都是一樣,換工作並不能解決這個問題,哪個公司也不會養閒人。對於公司來說公司的業務纔是第一,對於我們個人來說成長才是第一。所以應該想辦法在做好業務開發的同時,加速自己的成長,讓自己有更多的時間來學習和提升。



大胖剛剛從傷感中爬出來,又眉頭緊鎖起來。大胖在想怎樣才能擠出更多的時間,又不耽誤正常工作的進行,這樣就能有足夠的時間去做喜歡的事兒。



過了一會兒,遠處又傳來噼裏啪啦的鍵盤聲音,是大胖在敲代碼?在改 bug? 其實大胖是在做分析總結,他認真的分析了自己以往的工作狀態和工作流程中因爲惰性而沒有優化的地方,想到了以往可以做的更好,可以讓效率更高的地方。
 不一會兒大胖列了一個清單出來 


1. 擁有產品思維,拒絕純粹執行

大胖想起來以前被產品坑的情景,需求中有一處邏輯很玄妙,但是仔細想是存在一些問題。大胖當時麼有在意,也沒有和產品提,就去開發了。到最後快要開發完的時候,產品發現了這個問題,然後非要改。結果胳膊擰不過大腿,後面的事兒想必大夥兒都知道了,就是加班熬夜趕工期。

回頭想想,看似是被產品坑了,好像是被自己坑了。發現了問題但沒有及時提出,多大影響也無從判斷,把自己當成了一個純粹執行者,完全處於被動狀態,結果吃苦受累還廢人。

所以啊,要扔掉執行者的思維,產品的需求也不可能100%對,所以從現在起你也是半個兒產品經理了。

2. 需求來了,彆着急寫

以前大胖接到了公司的需求,覺得這玩意也是輕車熟路了,拿過來不假思索的就開始幹,擼代碼。

寫着寫着,發現這裏不對,遇到了一些問題,然後就改。

寫着寫着,發現那裏不了,原來是當初自己想錯了,又開始一頓改。

好了,開發完了,結果代碼也是一團糟,毫無規範和美感,也埋下了不少坑和 bug。

如果當初能對需求理解清楚,然後對技術方案做充足的思考,複雜的業務邏輯是不是應該畫個流程圖什麼的,如果前期工作做的比較完善,也不至於在開發的時候反覆修改,浪費了時間,也導致最後的代碼難以維護。

所以,需求來了彆着急寫代碼,確定好技術方案和各種異常邊界情況,甚至可以落地到一個文檔。

也可以避免出現一些流程和功能性問題。

3. 提高健壯性,消滅不應該出現的 bug

大胖的一大特點就是手快兒,做什麼都能快速的給你整完。可是這個質量嗎有點不敢恭維,bug 不說特別多把,但是總會出現一些不該出現的 bug。

大胖心急啊,自認爲也是個優秀的程序員啊,再出現低級錯誤的話,專業能力會被人懷疑的。不過現在已經有人在懷疑了。這些 bug 也浪費了大胖不少時間,回過頭來想想真想掐死自己。當時腦子去哪了?

最基本的穩定性、健壯性都考慮不全,豬腦子了。


4. 解 bug 別盲目

距離上次被測試同學催命,過去了大約1個月的時間,但是記憶猶新,歷歷在目,因爲慘不忍睹。大胖平時有點軸,不撞南牆不回頭,處理問題有時候午飯都不吃。當時碰到一個 bug,吭哧吭哧的研究了大半天,終於解決了,可是還有很多特別小的 bug,測試在等着測呢?後來測試同學找大胖詢問下情況,他們兩個去旁邊聊了聊....

當然大胖的公司的非常團結有愛,每個工作人員的人身安全和名譽是絕對不會受損的。嗯,這個就到這兒了。

大胖也是很懊惱,爲啥我就那麼有耐心去解那一個 bug 呢?放棄了一大片森林。大胖痛定思痛,絕對重新梳理自己處理問題的方式。

日常開發中問題有很多,但是有很多類似的,有簡單的複雜的。最好先把所有的 bug 過一遍,按照優先級進行劃分,先處理簡單的問題。也就是把不費時間的先搞定,費時間的往後排。所有問題都應該處理,但是所有問題可能不能在較短的時間內徹底的解決。處理和解決是兩回事。


5. 多自測,再提測

都是大胖的傷心事兒,辛辛苦苦的搞定了項目,馬上就要提測,此時不巧了,領導來了,說要體驗下新功能,大胖氣定神閒的給領導演示。偏偏就是這麼尿性,出問題了。問題不大不小,但是會阻礙測試流程。這下 sb 了。

大胖深深吸取了這次教訓,原因是自己做好的東西,沒有進行全面自測,對於大胖如此負責的帥哥程序員來說那簡直就是奇恥大辱啊。

暗暗發下毒誓,如果我不自測,以後老子就不提測了。(這種心態是不可取的)


6. 業務第一,技術第二

大胖想起了另外一個同事的遭遇,當時那哥們認爲做前端開發不用太注重對業務的瞭解,有接口文檔就可以了。領導感覺他對項目已經比較熟悉了,後面的需求就讓他獨立負責了,最終的完成時間和排期有點誤差,也就延期了 2 3天吧。但是具體的原因就是對業務知識瞭解不足,也無法給小組成員提供幫助,經常需要向其他部門同事尋求幫助,導致開發過程中溝通成本過高。

大胖回過神後,唏噓了一下,幸虧沒讓自己上啊。不然捅婁子的就是我了。

處於應用層的開發,如果對業務知識瞭解不足會感覺走起路來有點瘸,時間長了還會影響正常的腿,所以要想高效的完成工作,熟悉業務知識太重要了。


...will end...

此時大胖已經在積極的謀劃了,他深深明白了日常的工作中也有很多可以提升的空間,而這些提升不僅僅是技術上的,更多的是思路和思想上了。大胖堅定了自己的信心,要認真按照自己的路子去執行,高效高質量的做好業務開發,然後去做自己的事兒,逐步提升自己的技術,完成自己的 flag。


不一會兒......


遠處又傳來了噼裏啪啦的聲音,原來大胖又敲起了代碼,但是這次似乎有所不同,速度好像更快樂,聽起來更悅耳了。



作者:微信公衆號 - 重度前端 主筆:八門
歡迎關注 重度前端-每週5原創全棧乾貨+每週三深度技術文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章