編寫單元測試是開始為比特幣核心做出貢獻的好方法嗎?
我正在考慮為比特幣核心編寫單元測試,作為 C++ 開發和比特幣貢獻的第一步。有人對我即將開始的旅程以及可能需要測試的文件有任何建議嗎?
直接跳到編寫單元測試可能很難,我建議你查看官方 github 頁面,了解如何為比特幣核心做出貢獻:
<https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md>
如果我想做出貢獻,我會親自嘗試解決他們問題頁面上的一些問題,因為它是新鮮的,有很多工作,有些可能很容易並且總是需要幫助:
<https://github.com/bitcoin/bitcoin/issues>
如果您從頭開始學習 C++,即使您發現缺少特定的單元測試,您也可能難以開始編寫單元測試。所以這是一個挑戰。
在發現缺少的單元測試來編寫方面,有多種方法可以做到這一點。值得關注GitHub 儲存庫上的良好的第一個問題,儘管我認為這將依賴於 PR 作者故意不編寫單元測試並將其作為一個良好的第一個問題。
或者,您可以查看 Marco Falke網站上的單元測試覆蓋率,以查看哪些文件的單元測試覆蓋率較低。
一個有用的案例研究是 Fabian Jahr 對 Core 的第一個貢獻,這是一個簡單的程式碼更改,這意味著 MacOS 使用者跳過了在 MacOS 上不穩定的功能測試。他在 Bitcoin Edge Dev++ 2019 上就比特幣核心功能測試框架和調試比特幣核心做了幾場精彩的演講。
不過,您的時間最有成效的利用可能是參加由 John Newbery 設立的每週比特幣核心公關評論俱樂部。每週都會選擇不同的 PR,在此期間,您可以詢問為特定 PR 編寫的測試以及是否缺少任何單元測試。你可以在##bitcoin-core-pr-reviews 參加 IRC,你可以問任何你想問的問題。新貢獻者通常是主要目標受眾。