當前位置:
首頁 > 科技 > 程序員該敬畏每一行代碼?填好每一個坑才是!

程序員該敬畏每一行代碼?填好每一個坑才是!

前一陣子阿里雲故障,次日官方在聲明裡具體闡述故障原因,最後寫道「敬畏每一行代碼,敬畏每一份託付」。

每個程序員的心裡是否敬畏每一行代碼不可而知,但填好每一個坑是每個程序員的必修課。

01

你是否經常遇到這樣的情景:負責開發的項目遇到線上bug,心想這不是我的鍋,先不管了,放著吧;代碼寫完後,隱隱感覺有問題,可程序跑得通,先用著吧;接手一個老系統,這什麼破代碼,算了,改吧改吧將就用吧……

今天繞過的坑明天將加倍回來:

下次再改這塊代碼你仍然遇上它,只能硬著頭皮一行行捋代碼解決;線上某種場景觸發問題代碼,造成意想不到的崩潰;老系統改起來太費時間和容易踩坑,不如花時間重構。

測試向你吐槽你寫的bug,你否認道,這是前人挖的坑。PM改需求時說這裡只加了個小功能,等到你開發時剛要挖坑,轟地掉進一個天坑裡。你有沒有發現,每天的工作實則是在填一個接一個的坑。

填坑力,是程序員要具備的核心技能之一。

02

填坑力說到底是解決問題的能力。

還記得自己上一次快速成長是什麼時候嗎?是往做了一年的系統上CtrlC,CtrlV?還是去給人講你熟悉的業務框架?

人無法在順境中成長,而是在逆境中成長:新跳槽一家公司學習全新業務和技術框架,一邊闖禍一邊改進;公司想引進某項新技術,你被指定在一個月內完成遷移,於是你捉緊時間下班後扒技術文檔,周末在家寫demo……

從坑裡摔倒爬起後才明白,先前遇到的問題,其實是成長機會。

幾年前震驚互聯網的「3Q大戰」,360給騰訊挖了個天坑,騰訊艱難填坑對戰。而後馬化騰給員工內部信寫道,如果沒有360的發難,我們不會有這麼多的反思和感悟。或許未來有一天,當我們走上一個新的高度時,要感謝今天的對手給與我們的磨礪。

隨後騰訊改變戰略發展方向,走向「開放」。

我們似乎一直活在坑裡頭:挖坑的挖坑,掉坑的掉坑,填坑的填坑。可不管樂不樂意,人只有努力把身下的坑填好,然後去下一個坑,如此往複,才有真正的成長。

03

雖然程序員通常主張「我的鍋你來背,我的坑你來填」。但是低級坑請別挖:

1.天坑:不寫注釋

排期緊張,新人海宇匆匆忙忙地將代碼堆好便申請提測。可他的TL一句話將給他打回去重寫:一行注釋都不寫誰能看懂!

有一位開發說,注釋和代碼同等重要,注釋要寫的清楚明了,讓測試甚至是PM能讀懂你的代碼,這才算一個合格的程序員。

2.山坑:不寫介面文檔

有些公司的前後端聯調基本靠吼,「哥們,某參數少傳了」、「這個欄位得大寫」、「你傳這麼多我沒用,算了,放著吧」……

曾見過一個測試reject開發的郵件:前端沒傳某參數,導致流程跑不通,reject。

技術人員通常不愛寫文檔或者不願意在文檔上花時間,導致前後端各開發各的,沒有規範標準,如需和外部系統對接時,又得捋一遍代碼找介面參數。介面文檔能節約聯調溝通時間和減少bug引入,提高代碼質量。

3.地坑:不考慮拓展功能

代碼不解解耦,不考慮未來可能會拓展的設計,無疑是在給隊友挖坑。

小袁接手一個爛尾項目,上線後需要初始化數據,怎麼也找不到批量處理介面。打電話問已離職的前同事,「什麼?你當時只寫了跑單個數據的介面,沒寫批量的?」

除了上面幾個坑外,還有底下的挖坑指南:

不實時容錯,程序只按照自己腦子「理所當然」的軌跡運行;

將判斷放在一層層深不見底的邏輯里;

一個方法寫了上千行,沒人敢動;

從不自測。

掉坑容易填坑難,程序員之間最鐵的關係是,當我確定前方有坑後,立馬告訴他人這裡有坑,你不要踩了,等我填好後再來吧。

本文經授權轉自程序人生,作者五五。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

用機器學習預測誰將奪得世界盃冠軍?附完整代碼!
作為「梅西式」程序員,我要跳槽了

TAG:CSDN |