1. 程式人生 > >當你無法發現問題所在時,不要簡單地把程式碼或者資料還原

當你無法發現問題所在時,不要簡單地把程式碼或者資料還原

【場景】

這幾天有一位同事需要做與我一樣的功能,而這個功能是我已經開發好了的,他只需直接把我的程式碼拿去修改就可以。結果,我的程式碼可以正常執行,他的程式碼在開啟服務之後,控制檯就不斷有日誌輸出,開發環境進入了宕機狀態。

他花了很長的時間去尋找問題的來源,但一直沒有找到。之後,他跟我描述了他的問題。我提議幫他看看,然而得到他的回答是,他已經將程式碼還原到上一個版本了。也就是說,他放棄了尋找問題的來源。換成另一種比較文藝的描述,他放棄了學習進步的機會。

作為同事,同時又是同一開發組的戰友,我不能看著他這麼墮落。我直言不諱地跟他說,在開發中遇到問題時,不能逃避,必須面對,必須解決,因為你不面對不解決,同一的問題以另外一種方式出現在你面前。現在,你有足夠的時間去慢慢琢磨問題所在,而到了正式開發的階段,留給你解決問題的時間不會太多。到那時,你就只能通過加班的方式爭取更多的時間來解決問題。

果不其然,沒過多久,他又要開發類似功能的功能。而結果又跟之前的一樣,又是大量日誌輸出,又是開發環境宕機。比之前好的一點是,他聽進去了我上次的建議,沒有逃避問題。在尋找問題的解決辦法未果之後,他讓我與他一起找問題的根源。

結局很美好,我們找到了問題的根源所在,同時也對物件的建立有了新的認識。而對物件建立的有新的認識,就是我們這次解決問題得到的收穫。

【場景分析】

程式的問題與其他問題不一樣的地方在於,程式的問題就像一個坑,你不去處理它,它就一直在那裡,它並不會隨著時間的推移而消失。而長時間不去解決的程式問題又像蟻穴,正所謂千里之堤毀於蟻穴,開發程式有幾年經驗的應該有深刻的體會。

總結起來,程式設計師對於問題的態度只有一個,勇敢面對。