python软件目录规范

软件目录结构规范

软件开发规范

一、为什么要设计好目录结构?

1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。

2.可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。

二、目录组织方式

关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构。

假设你的项目名为my_project

my_project/
|-- 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    项目说明文件
|-- requirements.txt

 注:运行程序时,在bin目录下执行start.py代码,不可以直接执行core下的模块。

项目目录

  • bin      # 程序入口文件
  • core    # 主程序目录(核心代码)
  • conf    # 配置文件,主要用于留出接口,别人来使用时,方便配置
  • db       # 数据库
  • lib       # 公共类库目录,方便其它模块调用的类(通用模块,和当前项目的相关性不大(低耦合))
  • log      # 日志文件

项目文件

  • requirements.txt : 存放软件依赖的外部 Python 包列表
  • README.md : 项目说明文件。
 

关于README的内容

这个我觉得是每个项目都应该有的一个文件,目的是能简要描述该项目的信息,让读者快速了解这个项目。

它需要说明以下几个事项:

  1. 软件定位,软件的基本功能。
  2. 运行代码的方法: 安装环境、启动命令等。
  3. 简要的使用说明。
  4. 代码目录结构说明,更详细点可以说明软件的基本原理。
  5. 常见问题说明。

猜你喜欢

转载自www.cnblogs.com/pathping/p/11880140.html