貢獻代碼
如何做出貢獻?
報告問題
在提交問題報告時,請提供清晰的問題描述和您的工作環境資訊。您可以使用bug提交模板以便在您的描述中包括以下部分:
你期望看到的結果:描述你在遇到問題時想要實現的目標或期望看到的結果
具體代碼:提供你認爲可以得到期望結果的代碼
實際結果:描述你實際得到的結果,包括錯誤資訊
工作環境:告訴我你的機器、操作系統和依賴包的版本
系統配置:列印出你的qteasy配置和本地數據源概覽
重現方法:儘量提供可以讓我重現問題的例子,以便找出問題的根本原因
提供示例和改進文檔
我尤其希望並感謝您幫助我提供更多的使用示例、或幫助我改進項目文檔,例如:
編寫示例交易策略
分享批處理代碼片段
分享可視化圖表
糾正文檔中的錯誤
請按照下面的Fork/Clone/Pull Request工作流程提供您的貢獻,我會盡快給予反饋。
分支/克隆/合併請求工作流程
GitHub上的標準貢獻工作流程稱爲Fork/Clone (分支/克隆)。對於那些可能不熟悉的人,這裏是一個簡要的總結和一些參考鏈接。
我們假設您熟悉git的基礎知識:
git clone、git commit等。
注意:一個“Fork(分支)”只是一個在GitHub上創建的
git clone,它保存在GitHub上您自己的賬戶中。您可以使用GitHub上的Fork按鈕創建一個Fork:這樣GitHub就可以跟蹤原始github存儲庫和您的Fork之間的關係。基本工作流程如下:
創建一個Fork(分支),這個分支將存在於您的github賬戶中。
將您的Fork分支克隆到本地機器上(
git clone)。修改您本地的代碼,用
git commit提交更改,然後將更改**git push**到您的GitHub Fork中。當您對Fork中的代碼滿意時,在您的Fork的GitHub頁面上,打開一個Pull Request (PR)。Pull Request實際上是請求將您Fork中的更改合併到主qteasy存儲庫中。PR提供了一個地方,可以在GitHub上查看更改,併發布關於它們的評論和討論。
經過代碼審查後,如果維護者要求您進行額外的更改,您不需要重新提交另一個Pull Request(只要原始PR仍然是打開狀態)。相反,您可以在本地克隆中進行更改,然後再次
git push到您的Fork中。更改將自動流入打開的Pull Request中。完成上述步驟後,
qteasy的維護者將從您的Fork中合併更改到qteasy存儲庫中。PR將自動關閉。(但是您的Fork將繼續存在,並且可以在將來再次用於其他Pull Request;請參閱GitHub文檔,瞭解如何保持您的Fork最新)。
一些參考資料:
GitHub文檔:
https://docs.github.com/en/get-started/quickstart/contributing-to-projects
一些用戶的gists:
https://gist.github.com/Chaser324/ce0505fbed06b947d962
https://gist.github.com/rjdmoore/ed014fba0ee2c7e75060ccd01b726cb8
編碼規範
我並不非常嚴格地要求遵守PEP-8的每一條規則,但也不是完全放任不管。我傾向於走中間道路:只要是大家普遍遵守的規範和常見的編碼習慣,我都可以接受。
以下是我可能會特別關心的一些事項:
如果您編寫代碼,請不要使用製表符進行縮進,使用4個空格。
如果您編寫代碼,請始終提供清晰簡潔的註釋,解釋代碼的作用。這對於功能不太明顯的代碼尤爲重要。
如果您添加了一個重要的功能(即,需要解釋其用法的功能不僅僅是幾句話),請爲該功能創建一個“功能教程”。有關功能教程的示例,請參見示例文件夾中的文件
如果您添加了一個重要的功能,請在**tests文件夾**中創建一個迴歸測試文件,類似於那裏的其他迴歸測試文件。通常,最簡單的方法是從該功能的“功能教程”中選取一些示例(參見上一點)。
如果您要修改一個已有的代碼文件,請儘量模仿該文件中已有的代碼風格。