The Clean Coder 無瑕的程式碼 番外篇 Chapter 12 協作 觀後感 團結的重要性
第十二章作者Bob分享自己的工作經驗,一個人的力量有限,專業軟體工程師必須與他人協作。
Bob的真實人生
關於協作Bob舉出自己人生中一個好結果的案例與一個壞結果的案例。
Tim是Bob年輕時候的工作夥伴,兩人一起成功合作完成許多工作。
西元1976年Bob是24歲的年輕人,Bob曾經不負責任,導致Bob被開除! 下星期一有公司高層要看成果,星期五晚上Bob工作沒有做完就下班,導致團隊在下星期一陷入危機。
部門主管立刻給Bob嚴厲的警告,儘管Bob答應立刻改正,之後Bob再度犯了小錯,就立刻被開除。
事後Bob回想這段經歷,覺得小錯只是壓垮駱駝的最後一根稻草,星期一上午的事件已經讓部門主管決定要斬他了。
程式設計師與雇主
Bob提醒讀者工作要「顧全大局」,有的程式設計師寫程式的時候,會想要鍛鍊自己或是有趣,多做與驗收無關的事情。主管與業務關心的事情是完成進度,早一點驗收產品拿到驗收款項。
專業軟體開發人員要記得專案的短期目標與長期目標。
程式設計師與程式設計師
專屬個體所有程式碼
單一工程師壟斷一部分程式碼,別的工程師無法修改。明顯出現這種情況非常危險,萬一有工程師出意外,會沒有工作代理人能夠接替,影響整體工作進度。
協作性的程式碼共有權
程式碼分享,任何相關專案人員都可以修改。
結對
大部分的工程師平日不喜歡結對程式設計,危急時刻才會接受結對程式設計。
作者認為專業軟體工程師平日就應該接受結對程式設計,可以讓程式有代理人,又能夠多一個人檢查一遍程式。
小腦
專業軟體開發人員不是戴耳機躲在角落溝通,而是坐在同一張桌子面對面溝通。
作者鼓勵結對程式設計,「非常簡單」與「需要一個人長時間思考」的情況,才適合一個人獨自程式設計。
結語
程式設計的工作注定要與人合作,工程師要與業務合作,工程師彼此之間也需要合作。
補充
正常的軟體公司會有SVN程式版本控管系統,不會發生一個人壟斷程式碼的情況。
留言
張貼留言