iOS | 用 Xcode 做 Code Review
一般我們在開發完一個 feature 後
會把 feature branch 推上 gitHub,接著在 gitHub 上發 PR (Pull Request)
然後針對這次有改動到的地方逐一審查 (?)
而通常會切到 Files changed ➝ Split mode
去一一的看每一個檔案、每一行有改動到的程式碼
而近期習得了一種很不錯的方法
可以直接用 Xcode 做 Code Review
首先,假設現在 remote 上有一位團隊夥伴推了一支 feature branch
: feature/mainpage-implementation
且他也已經在 gitHub 上發 PR 了
所以目前我在 local 端更新後所看到的線圖會長這樣
git remote update --prune
接著我開了一支新的 branch 去 track 這支 remote branch
git checkout -b feature/mainpage-implementation-code-review --track origin/feature/mainpage-implementation
另外在 branch name 的後面加上 code-review 以做區分
: feature/mainpage-implementation-code-review
主要也是讓自己知道我開這支 branch 的目的是要用來做 Code Review 的
接著,把這支 branch reset 至 develop branch
git reset develop
所以目前在這支 branch 上的狀態就會記錄著所有
從 develop 到 feature/mainpage-implementation branch 間有被改動到的部分
接著,開啟 Xcode 專案
至左側專案目錄最下側點擊 — Show only files with source-control status
此時就可以看到在專案目錄下會列出你這兩支 branch 間有被改動到的檔案部分
先點擊其中一個你要 Review 的檔案後
接著點擊 Xcode 最右上角的 — Comparison
就可以看到這個檔案在這兩支 branch 間有被改動到程式碼的部分
此時就可以好好的逐一審查一番啦!😎
而這兒還有一個很好用的點就是
你可以隨時地去切換你想要比對的「基準點」狀態
比如說左側程式碼的部分我的基準點是 — Local Revision
就是我在 feature/mainpage-implementation (code-review) branch 上有改動到的部分
而右側程式碼的部分我的基準點則是 —27/5/2017 Henry Fan 23227e7 (HEAD)
就是這個檔案在 feature/mainpage-implementation (code-review) branch 改動前=最新 (上一次) 被改動到的部分
當然你也可以試著把基準點往前推,就可以看到這個檔案美妙的變化 ❤️
而 .xib 檔案當然也不例外,必須好好地逐一審查一番 😋 (?)
透過這種方式去做 Code Review 有幾個很不錯的點:
- 可以更清楚地看到整個檔案以及程式碼間被改動到的來龍去脈
—在 gitHub 上 Review 時,他確實會顯示出你對於這個檔案改動到的部分沒錯,但有時會覺得程式碼改動部分的前後關係會比較難去對應,或是不明顯 — 這是在哪個 function 內做改動的? 他前後的程式碼關係是什麼?
- 可以更方便地去追蹤程式碼
— 就是可以利用「command + 滑鼠左鍵」去方便快速地對整個 flow 和眾多的 function 做 trace,而這時也就可以去追蹤到專案內其他的程式碼部分
當然,Code Review 的方法有很多,其中也各有優缺點
最主要的還是要能夠找到一個團隊合作上的共識點
以此和其他團隊夥伴協作時能更加地 smoothly
這才會是更加重要的
筆記分享歡迎討論 😊
補充發現 bitbucket 的 Code Review 頁面,呈現的感覺就很像 Xcode 的 Comparison