“项目目录结构”也属于“可读性和可维护性”的范畴,我们设计一个层次清晰的目录结构,就是为了达到以下两点:
- 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。
- 可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。
基础目录结构
比较方便快捷的目录结构如下:
myproject
├── myproject
│ └── __init__.py
├── data
│ └── data1.dat
├── scripts
│ └── rpm_install.sh
├── docs
│ └── abc.rst
├── examples
│ └── app.py
├── tests
│ └── test_myproject.py
├── LICENSE
├── MANIFEST.in
├── README.rst
├── requirements.txt
├── setup.cfg
└── setup.py
目录结构说明
data/
数据目录,Python 项目很少以 resources 命名数据目录。
scripts/
项目部署依赖的系统环境安装脚本。
docs/
项目文档目录,一般以 reStructureText 格