在 GitHub 上編輯此頁面

貢獻 Biopython。

Biopython 貢獻指南

所以你想貢獻 Biopython,是嗎?太棒了!新的貢獻是專案的命脈。但是,如果做得不正確,它們可能會迅速消耗寶貴的開發者時間。(我們也有正職工作!)這是一個簡短的指南,說明推薦的貢獻程式碼給 Biopython 的方式。

另請參閱教學PDF)中關於貢獻的章節。

如果您已經到可以提出包含變更的拉取請求的程度,您應該閱讀 CONTRIBUTING.rst,其中描述了如何進行包括樣式檢查在內的自動測試。

非程式碼貢獻

即使您覺得還沒準備好或無法貢獻程式碼,您仍然可以提供協助。總是有一些可以在文件上改進的地方(甚至只是校對,或者告訴我們某個章節不夠清楚)。我們也需要郵件列表上的人員協助回答初學者問題,或參與有關新功能的辯論。也許您可以為wiki 食譜提出一般範例?

尋找專案

最好的貢獻是您在日常研究中已經使用的程式碼。這應該是您認為可能對其他人有用並且已經沒有錯誤的程式碼。如果您正在考慮送出這些程式碼,請繼續執行步驟 2:提交程式碼!

否則,仍然有很多方法可以貢獻 Biopython,無論是否涉及程式碼。您可以協助的一些事項包括:

提交程式碼

一般來說,我們會考慮任何適用於生物或化學資料的程式碼。請不要提交功能與 Biopython 中已有的程式碼大部分重疊的程式碼,除非有明顯的改進,並且您有整合程式碼的計畫。

在提交之前,請檢查

如果所有這些條款看起來都可以接受,請將您的程式碼描述發送到 biopython@biopython.org(請參閱郵件列表)。請務必在發送訊息之前訂閱 biopython 郵件列表,否則您的訊息將被郵件伺服器丟棄(這是為了避免在郵件列表上發送垃圾郵件)。請勿將程式碼直接發送到 biopython 郵件列表。相反,請透過建立問題並附加檔案或連結到您的 GitHub 分支,來使用我們的 GitHub 頁面

程式碼慣例

Biopython 嘗試遵循 PEP 8PEP 257 中規定的程式碼慣例。重要的重點是

一個值得注意的例外是模組名稱,我們傾向於使用標題大小寫。事後看來,這是不幸的,但我們受到向後相容性的限制。

正在使用 Epydoc 和/或 Sphinx apidoc 來產生原始碼的自動文件,因此在您的程式碼中加入有用的註解絕對很有用,以便它們可以反映在 API 文件中(除了記錄程式碼的所有正常原因之外)。

我們通常不會嘗試對程式碼中的註解進行任何花俏的格式化,但它們會被解釋為 reStructuredText 標記,允許使用項目符號和斜體等。這並不花俏,但它很有效,並且比嘗試處理無數種不同的方法來結構化原始碼註解更容易。

但是,有一些技巧可以讓您的文件看起來最好。主要的是

這是一個記錄模組的範例,以便 epydoc 會感到滿意

"""This is a one line description of the module followed with a period.

More information about the module and its goals and usage.
"""


class MyClass:
    """One line description of the class followed by a period.

    More information about the class -- its purpose, usage, and
    implementation.
    """

    def my_function(self, spam):
        """A terse description of my function followed with a period.

        A longer description with all kinds of additional goodies. This may
        include information about what the function does, along with
        what parameters it will be passed and what it returns. You know,
        information so people know how to use the function.
        """
        # the code ...