l

2014年9月16日 星期二

專業程式設計師怎麼做?(中)

Sep. 10 10:54~11:37

螢幕截圖 2014-09-10 11.36.47

 

九月份【Kanban方法與精實開發實作班】確定開課,早鳥優惠展延至本週四(9/18),對於敏捷與精實開發、專案管理、持續改善有興趣或已經實施但遭遇問題與極大困難的朋友,歡迎把握機會參加 。

***

今天繼續介紹《The Clean Coder》作者Bob大叔對於專業人士的建議。

 

除錯也是寫程式的時間

許多開發人員有一種習慣,就是想辦法快速寫出一份「看起來可以動的程式」,然後宣稱自己的coding工作已經完成,讓自己看起來滿足專案經理所規定的時程。急就章寫出來的程式當然會有很多問題,接下來開發人員便可以「恣意享受除錯時間」—開發人員心裡想著:「反正我的程式已經寫好了,只剩下一些小bug要處理。寫程式一定會有bug,此為正常現象,我要安心服用我的除錯時間了。」

Bob大叔告訴鄉民們,專業人士會將除錯時間降到最低。如果鄉民們每天上班都在除錯,應該要檢視錯誤發生的原因,想辦法從根本移除錯誤。

 

加班不是不行

許多老闆或是主管很喜歡「加班」這個武器,甚至把它當成解決問題的萬靈丹,彷彿只要加班,就可以從員工身上榨出無限的「產能」出來。

專業人士知道,超出正常的工時之後,人的專注力會急遽下降。對於軟體開發這種需要腦力的工作,在開發人員身心尚未失常之內的短期加班,或許可趕一點進度,但長期而言要靠加班來完成不可能的任務,必敗無疑。

Bob大叔建議,如果真的需要加班,必須滿足以下三個條件:

  • 你可以挪出加班的時間(有時需要與家人商議獲得諒解)。
  • 最多不超過兩周的短期加班。
  • 萬一加班還是無法解決問題,老闆必須要有備案,而不是把專案的成敗全部壓在加班上面。

以上三點,對於長期要求員工加班的公司來講,要做到真的是比登天還難啊挑眉質疑

 

尋求幫助

專業人士會提攜後進,幫助他人,這一點在前一集已經提過了。除了幫助他人以外,專業人士也會接受別人的幫助,這一點很重要。非專業人士經常死要面子,或是對於問題存在麻木不仁,自己埋頭苦幹。不但耗時,有時候更慘,什麼東西也沒生出來。

如果團隊中就有人可以問,自己一個人卡住苦思,只願意拜Google大神而不願意開口問,這不是專業人士的表現。

 

路見不平,拔刀相助

看到「骯髒」的程式碼,你的第一個反應是:「看,這段神邏輯的程式是誰寫的?」然後心想:「離我遠一點,不要來煩我。」因為大家都怕改程式,萬一改壞了變成你要負責,豈不是倒楣死了。

專業人士不能坐視程式碼持續惡化而不採取任何行動。如果因為沒有自動化測試案例而不敢修改程式,就幫忙加入測試案例。如果變數名稱、函數名稱取的不好,就用可以表達其意圖的名稱來代替。程式碼理應是整個團隊所共有,團隊中每個人都抱持著「時時勤拂拭,不使惹塵埃」的精神,clean code就離你們不遠矣。

***

友藏內心獨白:可以做一個專業人士行為的評量表了。

1 則留言: