開源新手必看7個小技巧

2021-10-22 12:27:43 字數 1528 閱讀 3157

【csdn編者按】:萬事開頭難,成為開源大佬的第一步,是成為開源新手。先讀他人的 contributing.md,慢慢就會有了自己的貢獻規則。

譯者 | 彎月

出品 | csdn(id:csdnnews)

以下為譯文:

多年來,我一直在參與幾個**庫的維護工作,這些**庫的主要目的是幫助新手學習如何為開源做貢獻,並給他們嘗試開源的機會。

在維護這些開源**庫期間,我注意到了新手都會犯的一些常見的錯誤,還有一些他們常常感到疑惑的問題。因此,我決定撰寫這篇文章,希望能夠為打算向開源做貢獻的新手提供一些幫助。

每個開源**庫中都有乙個名為 contributing.md 的檔案。該檔案中容納了所有為該**庫做貢獻的規則,包括**變更指南以及如何貢獻**等。這個檔案非常重要,仔細閱讀該檔案可以為你節省大量時間,幫助你弄清楚需要做什麼,以及如何確保你的拉取請求( pr )符合專案的所有準則,同時還可以節省維護人員的時間,方便他們審核你的**,並做出必要的修改。

在貢獻**的時候,你需要做的第一件事情就是分叉專案,這樣可以方便你修改並提交**。然而,許多新手都會忽略建立新分支這個步驟。不要在分叉後,直接修改 master (主)分支。這一步對於維護人員,乃至整個專案都非常有幫助。

有時你會發現某個 bug ,或者想到增強某個功能辦法,而且**庫的議題列表中沒有這個問題。這時,許多新手會直接動手改**,然後傳送 pr 。如果只是拼寫錯誤之類的小問題,這種做法也沒有太大問題。但是,如果遇到很大的變更,尤其是你認為自己的做法更好的時候,請首先傳送乙個議題,寫清楚自己的建議或仔細匯報 bug 。如果維護人員認為你說的很有道理,他們就會把這個議題分給你。但是,如果出於某種原因,他們沒有採納你的建議,則他們會關閉議題,從而節省彼此的時間。

我看到很多人都有這類的困惑,某個開發人員傳送了乙個 pr ,而我給出了修改建議,然後他會關閉這個 pr ,然後再新建乙個 pr ,然後再修改**。其實你不需要這麼做。

你可以直接修改 pr ,然後提交**即可。假設你分叉了**庫,並新建了乙個分支 patch-1 ,那麼只需在該分支上修改**,然後提交並推送你的更改,則所有的**變更都會自動顯示在 pr 中。

我收到的 pr 中經常會包含不必要的檔案,比如 ide 的配置檔案等。在提交**之前,請檢查一下哪些檔案發生了變化,只提交與你修改的議題相關的檔案。

有些開發人員犯了很多錯誤,但我依然很喜歡他們。因為他們告訴我自己是新手,因此我只能一次次地給他們機會,讓他們改**。老實說,我以為他們會關掉 pr ,然後退出。但是,他們一直在努力,而且隨著時間一天天過去,他們不僅能出色地完成工作,而且還能夠為其他議題貢獻**。新手犯錯再所難免,而且你們會越來越好。

如果你從未向開源做過貢獻,或者你一直猶豫不決,那不如現在就動起來吧。為開源做貢獻不僅可以回饋社群,而且自身也能得到成長。希望本文能對你有所幫助,並鼓勵你加入開源。每乙份微不足道的小貢獻,都能讓我們的社群變得越來越好。

新手必看的C 程式設計技巧!

1 如果可能盡量使用介面來程式設計 net框架包括類和介面,在編寫程式的時候,你可能知道正在用.net的哪個類。然而,在這種情況下如果你用.net支援的介面而不是它的類來程式設計時,會變得更加穩定 可用性會更高。請分析下面的 private void loadlist object items,li...

新手必看的C 程式設計技巧!

1 如果可能盡量使用介面來程式設計 net框架包括類和介面,在編寫程式的時候,你可能知道正在用.net的哪個類。然而,在這種情況下如果你用.net支援的介面而不是它的類來程式設計時,會變得更加穩定 可用性會更高。請分析下面的 private void loadlist object items,li...

新手必看的C 程式設計技巧!

1 如果可能盡量使用介面來程式設計 net框架包括類和介面,在編寫程式的時候,你可能知道正在用.net的哪個類。然而,在這種情況下如果你用.net支援的介面而不是它的類來程式設計時,會變得更加穩定 可用性會更高。請分析下面的 private void loadlist object items,li...