[Translate] 10 Tips for better Pull Requests
前言 本文原作者 Mark Seemann, 10-tips-for-better-pull-requests, 15 January 2015, 譯者 Benjamin Rice (HENG CHIA, FAN) 1. 保持 PR 輕量 一個夠小、專注一件事情上的 Pull Request (以下用 PR 稱呼)對於 PR 的接受度會有很好的幫助。 當我收到 PR 通知的第一件事就是去看這個 PR 的大小。嚴格的審核一個 PR 是很花時間的,在過往的經驗裡審核 PR 花費的時間會依據大小呈指數成長而且裡面的關係基本上會很複雜。 若是在一個開源專案(Open Source project) 中收到 PR,我會意識到提交者很可能在他的空閒時間內投入了大量的工作,所以我也會投入一定的時間去審這個 PR ,即使我認為這個 PR 的 sizs 太大,尤其是當這個 PR 看起來像是首次貢獻者送出的。不過,若 PR 很大的話依舊需要排出時間來審,我無法用片段的時間來審一大段程式碼。 但若是在一個職場環境下收到 PR(例. PR 發起人是一個受薪的程式人員),我通常會因為 size 的關係將 PR reject。 至於 PR 要怎樣才夠小呢?顯然這個問題跟 PR 要處理的需求有關,不過一個 PR 少於一打的檔案還不錯。 譯者個人想法: 還滿認同這邊的論點,首先一個 PR 若東西太多會需要花費更多的時間去看,再來通常 PR 若是包了太多東西,若不是原需求太過複雜就是裡面偷渡太多跟需求無直接相關的內容。不過這件事情通常跟如何拆解一個需求有很高的相關性。而需求的拆分能力牽扯的範圍除了需求的理解、解決方案的選擇、既有框架的限制以及專案的上線時程與範圍等等,實在有點廣泛就不再這邊細聊了。不過這邊也是有一些例外的情境,像是專案使用的語言升級產生的異動(e.g. python2 upgrade to python3),或是有些靜態檔案從專案移除搬去其他地方,諸如這種情況都會產生很多檔案的異動,我覺得反而這些放在一起比較好管理。 ...