第一次貢獻開源專案

以前看到開源專案上面貢獻程式碼都是大神,遲遲不知道怎麼下手加入討論,很怕一個外行人去攪人家的局很不好意思。 ![怕.jpg - Home | Facebook](https://jimmylab-images.seisblue.com/uploads/2020/08/image-1.jpeg) 今天分享一下貢獻開源的經驗,讓想要貢獻程式碼的朋友們可以跨出第一步。 前情提要 最近在 Scipy 上面看到一個 document 令人混淆的地方,花了一陣子研究原始碼發現是參數順序對不上的問題,雖然自己把問題繞過去了,但想說順便把這個 issue 反應給 Scipy 的開發者,確認 issues 裡面沒有人開過相關的主題,就來自己開一個吧~ 提交 Issue Issue 其實應用範圍很廣,從回報 Bug 到提供新想法都可以。 每個成熟的開源專案都有自己的 issue 模板可以套,照著裡面的空格填入就好。這次用 Bug 回報,主要要寫的就是敘述問題並重現錯誤,如果知道解法也可以順便附上。 Github 所有的文章是用 markdown 寫的,可以加入超連結、文字 highlight 等。 編輯的時候可以 Preview 看效果 開發者回覆 發了 issue 後過幾天會有開發者團隊開始分流,本來以為那些藍色標籤要自己貼,但實際上只有開發者可以貼。分流後會有對應專門的開發者來回覆,有時候也會有其他社群的人參與討論,有共識後就會請你去改程式碼然後發 Pull Request。 開發規範 改之前要去看他們的 Development guide,通常在原始碼根目錄的 CONTRIBUTING.md 裡面或他們網站上的開發者專區,Scipy 詳細的規範發 PR 時會再提醒一次。 Scipy 會對 commit 的內容與 PR 的名字做規範,例如文件相關的更改要在開頭加上 DOC:,他還會給你一個清單提示你該做什麼。 動手改 code 要改程式碼前要先把原本的程式碼 Fork 過來 正常來講應該要 clone 下來改,自己先在本機跑完測試再 push 到自己的 fork 上,但因為 scipy 有點太大只是要改個 docstring 要 clone 很久,所以就直接在 Github 上面改。改個 docstring 應該不太會報錯 (吧?...

<span title='2020-08-20 16:53:08 +0800 +0800'>August 20, 2020</span>&nbsp;·&nbsp;1 分鐘&nbsp;·&nbsp;Jimmy