章節連結
實務在撰寫程式時,和他人的協同合作也佔據了很大環節。定期衡量進度、回報並同時兼顧程式碼的品質,這三者要取得良好的平衡點。作者 Robert 在列舉了不少的情境,都會讓人心有戚戚感。究竟要如何回答、評估,進而建立自己的專業形象?這本書提供一個從個人到團隊可以嘗試運用的技巧和心法。
書籍資料
書籍名稱:The Clean Coder 無暇的程式碼 – 番外篇
作者:Robert C. Martin
ISBN:9789862017883
博客來推薦連結:https://tinyurl.com/ybco7mb6
1. 第一印象的主觀想法
The Clean Coder 此書確實提醒了我要如何成為一位專業的程式人員。除了擁有熱情之外,專業的程式人員需要勇於承擔責任,並精準的預估時間。這有賴於勇於說「不」和良好的溝通妥協藝術,這跟過往自身的工作經驗是類似的。這本書講述工程師在開發過程中,與他人互動的各種可能性。唯有將自身的情況先行把握住了,才能繳交出令同事、主管以及客戶滿意的成品,也避免替團隊合作的產品埋下日後麻煩的種子。
2. 認同之處
-
專業主義不做損害的事(破壞軟體功能和架構),要勇於修改它們。為了達成這個目標,你需要無時的運用閒於時間來精進自己,堅持學習下去。
-
學習說不沒有試試看這種事,這樣的回答會造成他人對你不切實際的期待。
-
學習說是承接上個環節,當你思慮周全後,你可以勇於給出真正的承諾。這承諾會包含時間點、會完成的事情。切記,你只能掌握自己能全權控制的環節,不要過度。因此,要適度的調整對方的期待,使其和你的思緒是同步的。有效率的加班是要付出對應的代價的。
-
寫程式的時候遵守紀律,不要在疲勞的時候寫。至於寫程式到一半被中斷,那是無法避免的。不過你可以養成讓同事知道你何時會是有空被打度的時間。如果幫助唾手可得,卻讓自己一個人杵在那,這是不專業的表現。另外,除錯的時間和撰寫的時候一樣寶貴,請在評估工時的環節時,要一同考慮進去。
-
關於練習老闆的職責不包含你的技術落伍,但身為一個專業人士,就是要用自己的時間來練習。
-
驗收測試過早進行精細化,是有很高風險的。東西畫在紙上和真正做出來,是不一樣的。所謂的「完成」,代表者所有的程式碼、測試、QA和需求方都通過了,不然就是未完成。在過程中,協商是必須的,這個對象可能是 PM、測試人員或是客戶。
-
測試策略要將「QA 找不到任何錯誤當作目標」,QA 是負責找出所謂的 Boundary 邊界條件(各種極端條件),鑒別系統的真實情況。測試可以分成元件測試、整合測試、系統測試和人工探索化測試。不過要注意:測試是需要成本的,而且代價比你想像的高昂許多。
-
時間管理不必要的會議要拒絕,在會議中也可以提早離席,那是你的專業。程式設計本身是需要持續投入經歷和專注的智力活動,專注力是稀有的資源。另外,要注意優先順序和避免掉進坑裡還一直挖掘。
-
預估和承諾預估是一種猜測,而承諾代表一定要達到,但往往業務方會覺得預估就等同於承諾,要小心避免給出暗示性的承諾。PERT 方法(基礎統計學):O: 樂觀預估 – 機率小於 1 %N: 常規預估 – 正中間P: 悲觀預估 – 最淒慘的狀態平均值:( O+4N+P ) / 6,大概的天數標準差:( P-O ) / 6,衡量不確定性如果你同時有很多任務,那麼天數平均值就是全部相加,標準差則是個別標準差的平方相加後再開根號
-
壓力適當紓壓、保持紀律
-
協作、團隊與專案
程式設計是一個與人協作的過程,而團隊不會圍繞著專案來組團隊。
3. 總結
基本上這是一本可以讓想要進入成為軟體工程師的轉職者們,或是已經身在其中的人們來看的一本書。裡頭所提到的心法和情境,都可以避免你在工作上遇上許多麻煩。