「譯」Python 項目應該都有什麼?

原文地址javascript

Python 語言在過去的幾年有着日新月異的發展,社區也在快速發展。在發展過程當中,社區中出現了許多工具保持着資源的結構性和可獲取性。在這篇文章中,我將提供一個簡短列表,讓每一個 Python 項目中都具備可訪問性和可維護性。html

requirements.txt

首先, requirements.txt 在安裝項目時候是十分重要的,一般是一個純文本文件,經過 pip 安裝,每行一個項目的依賴。java

真是簡單又實用。python

你也能夠有多個用於不一樣目的 requirements.txt。例如,requirements.txt 是讓項目正常啓動的依賴,requirements_dev.txt 是用於開發模式的依賴,requirements_docs.txt 是生成文檔的依賴(像 Sphinx 須要的主題)git

setup.py

setup.py 文件在經過 pip 安裝時候時候是十分重要的。編寫容易,很好的可配置性而且能夠處理不少事情,例如導入,項目元數據,更新源,安裝依賴項等等。github

能夠查看 setuptools 文檔獲取更多的信息。markdown

正確的項目結構

項目結構相當重要。有了一個組織良好的結構,它會更容易組織的東西,找到某些源文件,並鼓勵其餘人貢獻。工具

一個項目目錄應具備相似的結構單元測試

root/
        docs/
        tests/
        mymodule/
        scripts/
        requirements.txt
        setup.py
        README
        LICENSE複製代碼

固然,這不是組織項目的惟一方法,但這確定是最經常使用的模板。測試

測試

單元測試對項目十分重要,能夠保證代碼的穩定性。我推薦 unittest 模塊,由於它是內置的,而且足夠靈活,完成正確工做。

還有其餘可用於測試項目的庫,例如 test.pynose

文檔

若是你開發一個項目,我確信你不僅是爲你本身寫。其餘人也要必須知道如何使用你的項目。即便你只是爲本身編寫的項目(雖然是開源的目的),可是一段時間後不開發後,你必定不會記得你的代碼中發生的任何事情(或API)。

所以,爲了實現可重用的代碼,你應該:

  • 設計一個簡單的API,易於使用和記憶
  • API應該足夠靈活,容易配置
  • 記錄相關使用例子
  • 例子不要追求 100% ,最合適的是覆蓋 80% 。

爲了充分的記錄你的代碼,你應該使用特殊的工具開完成文檔工做,例如 Sphinx 或者 mkdocs ,因此你可使用一個流行的標記語言(rst或markdown)來生成具備適當引用連接的漂亮的文檔。

結論

在熟悉上述話題以後,必定可以生成符合社區標準的漂亮的結構化項目和庫。不要忘記老是使用PEP-8!

相關文章
相關標籤/搜索