python软件目录结构规范
软件目录结构规范
软件开发规范
一、为什么要设计好目录结构?
1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。
2.可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。
二、目录组织方式
关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构。
假设你的项目名为ATM
ATM/ |-- bin/ 存放项目的一些可执行文件,当然你可以起名
script/
之类的也行,但bin/更直观。易懂 | |-- __init__
| |-- start.py 写启动程序 | |-- core/ 存放项目的所有源代码(核心代码)。(1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层目录。 (2) 其子目录tests/
存放单元测试代码; (3) 程序的入口最好命名为main.py
。
| |-- tests/
| | |-- __init__.py
| | |-- test.main.py
| | | |-- __init__.py | |-- test_main.py| 存放核心逻辑 | |-- conf/ 配置文件 | |-- __init__.py | |-- setting.py 写上相关配置
|
|---db/ 数据库文件 | |--db.json 写数据库文件
| |-- docs/ 存放一些文档
| |-- lib/ 库文件,放自定义模块和包
| |-- __init__.py
| |-- common.py 放常用的功能
|
|-- log/ 日志文件
| |-- access.log 写上日志
|
|-- __init__.py |-- README 项目说明文件
注:运行程序时,在bin目录下执行start.py代码,不可以直接执行core下的模块。
关于README的内容
这个我觉得是每个项目都应该有的一个文件,目的是能简要描述该项目的信息,让读者快速了解这个项目。
它需要说明以下几个事项:
- 软件定位,软件的基本功能。
- 运行代码的方法: 安装环境、启动命令等。
- 简要的使用说明。
- 代码目录结构说明,更详细点可以说明软件的基本原理。
- 常见问题说明。