「译」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!

相关文章
相关标签/搜索