原文地址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!