如何快速成為 Rosedb 的 Contributor ?
如何快速成為 roserosedb 的代碼在最近重構了很多,總體來說更加簡潔直觀了,各種數據類型的讀寫流程更加統一,架構圖如下:
design-overview-rosedb.png
仍然是基于簡單的 bitcask 存儲模型,后續有時間的話,也會像 LotusDB 那樣,出一個《rosedb 設計與實現》的系列文章,敬請期待。rosedb 目前仍處于積極維護狀態,已經獲得了累計 2.6k star:
近期 rosedb 的貢獻者還是比較活躍的,pr 數量也不少:
這篇文章,主要是想講一講讓更多的新手,或者對 rosedb 不太熟悉的同學,如何低門檻的參與到 rosedb 的開發中,并且快速提交 pr,成為 rosedb 的 Contributor。如果你對 rosedb 感興趣,無論對存儲方面的知識是否精通,都能夠在各方面為 rosedb 做貢獻,提升自己的能力。
想參與進來的話,這里給出一個循序漸進的流程。
1.熟悉 Pr 流程
- 添加 test 方法
- 添加 example 代碼
目前 rosedb 當中的一些方法是沒有對應的 Test 方法的(或者說 Test 并不完善),你可以按照已有的 Test Case 的寫法,來為方法添加單元測試。
rosedb 下有一個 examples 目錄,向用戶展示 rosedb 的使用方法,你可以往其中添加一個方法。
這類 Pr 沒有太多的技巧可言,只是為了讓你熟悉整個 Pr 的流程,并且能夠對 rosedb 中的一些方法有所認識,對 rosedb 的數據讀寫流程有更進一步的理解。
2.簡單問題
- 添加更多 redis 相關的命令
- good first issue
rosedb 支持的命令目前大致是按照 redis 來添加的,我們做到能夠支持 redis 大多數常用的命令即可,做之前要確認一下這個命令在 rosedb 當中是不存在的。盡量選擇 redis 一些常用的命令,不常用的可以暫時不支持。
如果一個 issue 被標識為了 good first issue,則說明這個 issue 也很適合新手參與,你可以按照自己的情況選擇自己感興趣或擅長的。例如目前項目中已經有了很多這樣的 issue:
3.bug 修改或功能完善/增強
- 修復 bug
- enhancement
如果有一些 bug 或者新的功能,或是對已有功能進行完善,這類 issue 會被標識為 bug 或 enhancement,這類問題可能稍微復雜點,需要你對 rosedb 整體的流程更加熟悉。
最后,需要說明一下,每個 issue 都標識了該問題的難易程度(easy、medium、hard),你可以根據自己對 rosedb 的了解程度,選擇適合自己的,對于任何問題或者 issue,在做之前,或者做的過程當中有問題的話,都可以提出來和我交流。
以上就是我列舉的如何低門檻的參與到 rosedb 當中的方法,你也可以根據你自己的經驗,在其他的方面進行完善補充,總之, 期待你的 PR!