The Clean Coder 無瑕的程式碼 番外篇 Chapter 1 專業主義 觀後感 論專業軟體工程師的修養與技能

       第一章作者Bob整理數十年的職場經驗,歸納出專業軟體工程師必須擁有的修養與技能。Bob坦言自己的職場並不是一帆風順,可以感受到書中的小故事都是字字血淚,職場上Bob什麼亂七八糟的事情都遇過,Bob用毅力撐過去,持續努力外加有天分,才能成為專業軟體大師。


美國挑戰者號太空梭爆炸事件


序章提到西元1986年美國挑戰者號升空到一半爆炸,作者認為會發生悲劇是「政治凌駕專業」的結果,事故發生前已經有專業人士警告可能會有問題,無奈高層不聽,堅持維持太空梭升空計畫。


擔當責任


作者職場生涯曾經偷懶,改了程式之後,沒有跑過一遍全部測試程式,導致客服部門被顧客申訴電話打爆。


作者將負責任排在第一位,更新程式之後要確實執行所有的測試程式,專業軟體工程師要交出能夠正常運作的程式。


首先,不做損害的事


專業軟體工程師首先不是要想做有益的事,而是要想避免做有害的事。


不要破壞軟體功能


作者也知不可能有十全十美的軟體,每個軟體多多少少都有錯誤,但是專業軟體工程師不能用這個情況當藉口,依然要朝向沒有錯誤的方向邁進。


讓QA找不出任何問題


QA是品質保證部門,要讓QA同事找不到錯誤。


要確信程式碼正常工作


要寫測試程式確定程式碼能夠正常工作。作者非常注重測試,可參考 《Clean Code》第九章單元測試。


自動化QA


測試程式要寫到能夠自動化QA,例如一鍵完成測試。


不要破壞結構


要避免破壞結構,並不是儘量不修改程式碼。作者認為專業軟體工程師要經常修改程式碼,有自動化測試程式撐住,可以避免破壞結構。


職業道德


專業軟體工程師必須「努力學習,天天向上」,除了上班時間之外,還要另外找時間提升自己。


瞭解你的領域


專業軟體發展人員至少必須精通的事項


設計模式
設計原則
方法
學科
工具


堅持學習


專業軟體工程師要學習新的知識、工具與程式語言。


練習


「熟能生巧」這段如同《師父》電影的名言「每天揮舞雙刀五百下」,作者自稱每天都有練習寫程式。


協作


能夠與他人合作寫程式


輔導


「教學相長」專業軟體人士會指導新進人員,幫助別人等於幫助自己。


瞭解業務領域


例如寫財務軟體,就要瞭解財務領域。要寫旅遊應用軟體,就要瞭解旅遊產業。


與雇主 / 客戶保持一致


能夠換位思考,瞭解客戶的需求。


謙遜


「海納千川」才能夠成為大海。專業軟體人員能夠做到虛懷若谷。


最後作者回到第一章開頭的漫畫,遇到任何困難,都當作是上帝對自己的考驗,笑笑即可!


遇到任何困難都能夠用樂觀的態度面對,是人生非常高的境界。



留言

這個網誌中的熱門文章

異世界NTR web版第三章 觀後感 喧賓奪主 ,反派實力過強

泛而不精的我被逐出了勇者隊伍 web第三章 觀後感 菲莉真能打; 露娜超爽der

持有縮小技能的D級冒險者,與聖女結婚並加入勇者團隊 漫畫 01-04 觀後感 大我與小我