原文地址javascript
Python 語言在過去的幾年有着日新月異的發展,社區也在快速發展。在發展過程當中,社區中出現了許多工具保持着資源的結構性和可獲取性。在這篇文章中,我將提供一個簡短列表,讓每一個 Python 項目中都具備可訪問性和可維護性。html
首先, requirements.txt
在安裝項目時候是十分重要的,一般是一個純文本文件,經過 pip
安裝,每行一個項目的依賴。java
真是簡單又實用。python
你也能夠有多個用於不一樣目的 requirements.txt
。例如,requirements.txt
是讓項目正常啓動的依賴,requirements_dev.txt
是用於開發模式的依賴,requirements_docs.txt
是生成文檔的依賴(像 Sphinx
須要的主題)git
setup.py
文件在經過 pip
安裝時候時候是十分重要的。編寫容易,很好的可配置性而且能夠處理不少事情,例如導入,項目元數據,更新源,安裝依賴項等等。github
能夠查看 setuptools 文檔獲取更多的信息。markdown
項目結構相當重要。有了一個組織良好的結構,它會更容易組織的東西,找到某些源文件,並鼓勵其餘人貢獻。工具
一個項目目錄應具備相似的結構單元測試
root/
docs/
tests/
mymodule/
scripts/
requirements.txt
setup.py
README
LICENSE複製代碼
固然,這不是組織項目的惟一方法,但這確定是最經常使用的模板。測試
單元測試對項目十分重要,能夠保證代碼的穩定性。我推薦 unittest
模塊,由於它是內置的,而且足夠靈活,完成正確工做。
還有其餘可用於測試項目的庫,例如 test.py
或 nose
。
若是你開發一個項目,我確信你不僅是爲你本身寫。其餘人也要必須知道如何使用你的項目。即便你只是爲本身編寫的項目(雖然是開源的目的),可是一段時間後不開發後,你必定不會記得你的代碼中發生的任何事情(或API)。
所以,爲了實現可重用的代碼,你應該:
爲了充分的記錄你的代碼,你應該使用特殊的工具開完成文檔工做,例如 Sphinx
或者 mkdocs
,因此你可使用一個流行的標記語言(rst或markdown)來生成具備適當引用連接的漂亮的文檔。
在熟悉上述話題以後,必定可以生成符合社區標準的漂亮的結構化項目和庫。不要忘記老是使用PEP-8!