胖子工程師辛酸史:交流與分享
上次胖子與工程師B談過後,他深思熟慮定下五年後一定要成功當上外商主管,然而他發現工作以來只專注做好公司的事,反而對業界沒有一定的了解,後來胖子讀了無瑕的程式碼(Clean Code)這本書,他想從當一個專業人士著手. 胖子看到書中說寫程式碼應該讓團隊其他人看懂,他心想工程師B應該能給他很好建議,又加上公司現在將程式碼使用Git做版本控管,因此他又約工程師B一起吃午餐...... 胖子:"工程師B,最近我們的程式碼有進行版本控管,你有看過我的程式碼嗎?" 工程師B:"恩...之前增加資料可視化時,我有看過你的程式碼." 胖子:"那你覺得我的程式碼容易讓人看得懂嗎?" 工程師B:"恩,還可以." 胖子:"其實我最近看了無瑕的程式碼,我一直覺得自己程式碼架構不太好,你覺得我程式碼最大缺點是什麼?" 工程師B:"恩....我也看過那本書,其實目前團隊程式碼的相依性太高,說實話很難維護." 胖子:"那你覺得我們對目前的程式碼進行重構如何?" 工程師B:"然而,目前另外兩個新人工程師的程式碼可讀性很低,我想短時間無法解決程式碼相依性問題." 胖子:"的確,那我們進行Code Review如何?我們先找出問題比較嚴重的地方,然後每個人都針對這部分進行重構,並且在下班前30分鐘開會時,請每個人用五分鐘解釋他做了什麼改善." 工程師B:"雖然你這個想法很好,但我不認為老闆會給我們時間做這些,而且最大問題是專案經理那邊" 胖子:"或許我們在開會時候,我們合作想辦法不要讓時間表不要那麼忙,讓我們團隊至少每一周一次進行重構,而且上次老闆也說希望提升工作效率,其實在那本書也指出雜亂的程式碼會使團隊的產能降低,因此我覺得或許應該跟老闆說重構能使團隊工作效率上升." 工程師B:"恩,我是沒問題." 與工程師B談完話以後,胖子覺得今天做了很棒的交流,雖然不知道這件事能不能成功執行,然而結對工作(pair-programming)應該能花比較少時間重構團隊的程式碼,一方面能讓團隊之前互相知道彼此的工作,另一方