5 件程式設計師不太想做的重要事情
1)測試
這裡指的是認真和全面的測試,不是完成程式碼後執行一下的那種; 很多時執行一次,會看不見以下這些問題:
- Null 或者 out-of-bound的情況,按照開發時的輸入,當然okay, 但是情況變了, 就會出現異常;
- 介面佈局因為引數不同而變化
- 沒有捕足的Exception (異常)
如果不反覆測試,就看不見上面的問題;
(真人真事: 當去體驗同事說已經”做好“的功能,有時會崩潰,有時候連程式也執行不了, ...)
2)設計
對於很多程式設計師來說, "設計"一件可有可無的事情; 因為沒有設計,反正程式也可以寫出來,所以“設計”就開始變得“無謂”; 但是“設計”比我們想象中重要,因為它可以幫助我們理清程式的思路,而且可以讓工作拆細,方便計劃和安排工作;
(真人真事: 最近半年我開始有先設計,後開發的習慣,發現當設計好了才做,比較快把事情完成,否則的話,容易中途迷失方向及動力)
3)重構,註釋及文件
程式碼第一手寫出來,通常是比較粗糙,沒有妥善鋪排,或者只有自己能看到懂的;但是程式碼如果放下不管,日後需要修改或DEBUG, 就會花很多氣力來理解; 當然“重構, 註釋及文件”又是不做,不會又及時的影響和需求,但是日子久了, 就會令程式碼維護不了,甚至需要丟棄;
(真人真事: 最近打算改進一個地圖編輯器,由於上個版本的程式碼太難看,跟進那個工作的同事,不到幾個星期就投降,說程式碼完全不明白;最後,我只能重寫 =.=)
4)改進效率
程式設計師很多時候是幫助其他人改善效率;但是很多時候,自己卻不會改善自己的工作效率;
舉一個例子: 你寫一個生產一個XML的程式,那個XML資料可以提供給伺服器使用;
如果需要測試事,需要在資料生成後,登入FTP, 然後用把檔案傳輸到指定目錄, 然後開啟WEB來驗證;
(這類手動操作,大概每次需要話5-10分鐘)
這個例子可以這樣進行改進: 利用一個簡單linux指令碼來: 它會把生成後的資料FTP到伺服器,和開啟相關WEB連線進行檢查;
這個指令碼雖然要花大概1小時來寫,但是可以省掉不少手動FTP和開WEB的時間;而且寫好了指令碼將來可以用在其他的地方;
5)溝通
有些程式設計師會覺得“溝通”不是他們的工作,應該是PM 或者客戶主動說明,由於已經有很多程式碼需要開發,所以不應該花時間去溝通;但是有良好的溝通,往往可以省了不少時間;另外,但你與你的客戶,程式夥伴,小組等,建立好的溝通,就可以在開發前對需求和設計更瞭解,不要花時間改來改去;而且大家溝通後,也會令工作氣氛有所提升;
# 總結 #
如果和一些優秀程式設計師合作,就算他們不想做上面的工作的,也會花時間來處理,讓程式的測試, DEBUG, 培訓和持續開發變得更有效率;