前言
工欲善其事,必先利其器
规范工程目录结构的好处
-
a.可读性高
快速的了解这个项目,知道程序启动脚本、测试目录、配置文件等在哪儿 -
b.可维护性高
相关维护/开发人员清晰新增文件和代码应放置在何处
使用说明
工程目录树
tree -aC iLovePy
iLovePy
├── apidoc
├── bin
├── ChangeLog.txt
├── docs
│ ├── settings.cfg
│ ├── settings.conf
│ ├── settings.ini
│ ├── settings.json
│ ├── settings.py
│ ├── settings.xml
│ ├── settings.yaml
│ └── settings.yml
├── extras
│ └── Makefile
├── .gitignore
├── iLovePy
│ ├── __init__.py
│ ├── main.py
│ └── test
│ ├── __init__.py
│ └── test_main.py
├── lib
├── LICENSE
├── README.md
├── requirements.txt
├── scripts
│ └── run.bat
└── setup.py
8 directories, 20 files
目录树详解
- README.md
项目介绍,一般包括使用的环境,安装的方法,软件的基本原理、测试数据及常见问题等,越详细越好,eg:redis文档说明 - requirements.txt
记录依赖的软件包及对应的版本号,明确项目使用了哪些Python包,可以使用命令安装所有的依赖包pip install -r requirements.txt,另外,可以使用pipreqs这个工具来生成requirements.txt - setup.py
安装、部署、打包的脚本,python打包工具setuptools,参考flask - docs
文档目录,项目配置文件通常也放在这里,关于项目配置文件,详见Python中的配置文件 - scripts
存放脚本文件,eg:代码仓库不适合存放很大的二进制文件,这时候可以写个脚本去拉取 - ILovePy
项目源码目录,入口文件建议命名为main.py,再配上__init__.py文件;
同时,单元测试的代码也放在这块,如下目录树所示
─ test
├── __init__.py
└── test_main.py
下列是可选目录结构
- bin
二进制文件 - apidoc
api接口文档 - lib
依赖库
下列说明主要是项目开源的时候需要用到
- LICENSE
协议文件,可参考开源许可协议 - ChangeLog.txt
记录版本发布的release note - .gitignore
如果使用的是git代码管理工具,表明上传时忽略的文件,如果您使用的是svn,请忽略
结语
仅供参考