Pull Request

如何建立一個優秀的 Pull Request


Pull Requests(PR)是你向 Exercism 程式碼庫的某個部分提交修改提案的方式。 如果你正在讀這篇,而且正在準備送出 PR,謝謝你! 這份指南想幫你處理 PR 中非技術面的部分,讓你一切順利,同時也幫上我們的維護團隊。

你可以預期什麼

PR 的流程如下:

  • 你送出 PR
  • 一位或多位維護者審閱這個 PR,留下建議的評論。 有時候他們會整體討論這個 PR,判斷它是不是適合加入的內容。
  • 你的 PR 被合併,網站會頒給你 Reputation。 或是你的 PR 被關閉。

要怎麼讓 PR 被合併?

有些事你可以事先做好,讓 PR 更有機會只經過少量修改就被合併。

最重要的是,在你送出 PR 之前先確認維護者會歡迎你想做的修改。 最簡單的做法是先在 GitHub 上開一個 Issue,說明你打算做什麼,並詢問維護者是否願意接受這些修改。

Note

如果你在 Exercism 網站上找到了 Task,那就不需要再開新的 Issue。 你可以在既有的 Issue 底下留言,說你要著手處理,然後就開始動工。

再來要留意的是,開 PR 的時候要寫下清楚的說明。 沒有說明的 PR 會讓維護者非常頭痛,因為他們讀程式碼時完全沒有脈絡。 告訴我們你為什麼做這些修改、連到這個 PR 對應的 Issue、說明你不得不做出的取捨,諸如此類。

最後,確認你的 PR 只包含跟單一改進相關的修改。 如果你有好幾項改進,請拆成多個 PR。 這樣維護者審閱起來更輕鬆、更快速,你自己的日子也會好過一些。

要等多久?

一般來說,維護者會在幾天內審閱你的 PR。 第一週請不要一直留言把 PR 頂上來:我們的維護者都是志工,平常也很忙,他們會盡快找時間審閱。 如果 7 天內都沒有收到回覆,請在 PR 上留一則新的留言,並標記@exercism/reviewers,這樣就會通知到更大的團隊。


再次感謝你為 Exercism 貢獻心力。 希望這是一段有趣又有收穫的經驗!