多人專案開發你可能會碰到的那些事 - Lynn === {%hackmd FGRWt1UuTFKk0wSbGgg-SA %} > 請從這裡開始 ## YouTube {%youtube YZ042kBYnxg %} ## Slide [Slide Link](https://drive.google.com/file/d/0B6qiVNz-3nASbjI0YktrcEJYRWxxa0tleHZseVhHcmMteWx3/view?usp=sharing) ## 關於髒代碼 - 過度繼承 - 沒有辨識度的命名 - 被註解起來的程式碼 - 自我流的代碼風格 - 多邊形的輪子 ## 關於雜亂的分支 - 各地每天需要Merge Code - 拉下來的代碼有問題 - 刪除己經不需要的分支 ## 因應方式 - 善用工具 - 訂定規範 - Code Review - 自我要求 ### 善用工具 - 版本控管:SourceTree - 代碼規範檢查工具:SwiftLint - 程式碼品質分析工具:SonarQube ### 訂定規範 統一的Coding Style Commit Log添加項目編號或bug編號 善用pragma mark或是MARK:標記 ### Code Review - Pair Programming - 指定Reviewer - Code Review ### 自我要求 - 每天檢查Git Commit - 給自己Code Review - 寫代碼前先設計代碼,撰寫文件 - 命名前先在專案裡面搜尋 ## 業務上的神邏輯 - 被消失的功能 - 需求到測試時才被提出 - 一個需求各自理解 - 沈默的會議室 - 失控的討論 ## 因應對策 - 業務邏輯專案 - 開發前的準備,Kick-off Meeting - 會議前先確認會議內容 - 溝通成本:面對面>電話>訊息>寫信 - 在知識管理平台留下記錄 ## 如何閱讀別人寫的代碼 1. 用Git管理 2. 執行 3. 來查執行結果,確認功能 4. 找出頁面的進入點 5. 確認進入點是否正確 6. 邊看邊筆記,找出用了那些Class 7. 整理Class,在Code裡加入MARK 8. 分析方法,補註解、重新命名、拆方法 9. 擬定測試 10. 修改 11. 測試 ###### tags:`iPlayground2019`