[譯] 為 Django Framework 貢獻你的力量並沒有想象中的那麼難

JaY_zHao發表於2018-02-05

為 Django Framework 貢獻你的力量並沒有想象中的那麼難

當我們準備開始編碼並開源的時候,總感覺無從下手。我知道,給一個精彩絕倫的程式碼庫貢獻程式碼的這個想法聽起來是有一點嚇人的。不過幸運的是,只要你願意,很多這樣的開源庫會為你提供大顯身手的空間。他們同樣會給予我們所需要的支援。聽起來很不錯吧?

你知道那個著名的 python 框架嗎?Django!他們的網站上有一個部分叫 Easy Pickings。假如你準備開始參與開源工作併為一個精彩的程式碼庫做貢獻,這就是為你而準備的!

在這篇部落格中,我將逐步向你展示如何通過修復 Django easy pick 問題來為開原始碼庫做貢獻的,通過這幾個簡單的步驟你也可以做到。接下來我將通過修復一個缺陷來從頭到尾講解這個過程,跟我來!

發現/定位一個 bug

首先你要做的是訪問 Django 的 Easy pickings部分。在那裡你可以找到易於修復 ticket 和小 bug。每天都會有新的 ticket。找到沒有分配給任何人的 ticket。如下圖所示:

Alt text

本文中我選擇的是 bug ticket #26026 並把它分配給我自己,接下來我們要深入的瞭解這個問題。在下圖中,我只是顯示了 ticket 的頭部。請記得閱讀完整的 ticket。

Alt text

正如我之前所說,我已經解決了這個 bug。所以當我把這個 bug 分配給我自己,bug 將被關閉,並有一些相關的 PR。因此當你選擇一個 bug 時,千萬不要忘記把它分配給自己。這是為了防止其他人重複選擇這個 bug。你需要在 Django 的網站上登入,在 ticket 頁面的頂部有連結。

如果你開啟 ticket 頁面,你可能會看到一些關於如何解決問題的意見和方案。通常這些對你都是很有幫助的。

好了!我們現在已經找到並理解了一個公開的 ticket 是什麼樣子的。

開始編碼

第一步先 fork Django repo倉庫。第二步,編寫你的程式碼,並按照建議的風格進行提交Django's guidelines。可以參考一下我的提交: [1.9.x] Fixed #26026 -- Checked if the QuerySet is empty。最後發起 pull request。

讓我們來看一下我的 pull request 並檢查一下我的程式碼。可以看到我用了包含 ticket 的連結來註釋這個 PR。

Alt text

Alt text

簡單吧,你覺得呢?這是我的解決方案,只有一行程式碼。但是看了下面的答案我發現:

Alt text

額... 問題的原因是我對錯誤的 Django 版本進行了 pull request。而且我忘記了寫我的修復測試。讓我們來解決這個問題!

這是我的第二次 PR,針對 master 對我已經編寫的程式碼進行測試。請注意我的提交名稱已經變了(和我的 PR 名稱一致)。

Alt text

Alt text

完成!我的 PR 已經被合併和關閉。我已經為了不起的 Django 庫做出了我的貢獻!

Alt text

更多來自Vinta


掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為 掘金 上的英文分享文章。內容覆蓋 AndroidiOS前端後端區塊鏈產品設計人工智慧等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章