软件开发目录规范

为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下

Foo/
|-- core/
|   |-- src.py
|
|-- api/
|   |-- api.py
|
|-- db/
|   |-- db_handle.py
|
|-- lib/
|   |-- common.py
|
|-- conf/
|   |-- settings.py
|
|-- bin/
|   |-- run.py/start.py
|-- setup.py
|-- requirements.txt
|-- README

简要解释一下:

•core/: 存放业务逻辑相关代码
•	src.py:里面存放项目核心功能
•api/: 存放接口文件,接口主要用于为业务逻辑提供数据操作。
•db/: 存放操作数据库相关文件,主要用于与数据库交互
•	db_handler.py:存放数据库操作相关的代码
•	userinfo.txt:用户信息文件
•lib/: 存放程序中常用的自定义模块
•	common.py:存放一些公共的代码
•conf/: 存放配置文件
•	settings.py:里面存放项目的默认配置,变量一般都是全大写 HOST='127.0.0.1'
•bin/: 一般是存放启动文件,当启动文件只有一个的时候,也可以写在项目根目录
•	run.py/start.py: 程序的启动文件,一般放在项目的根目录下,因为在运行时会默认将运行文件所在的文件夹作为sys.path的第一个路径,这样就省去了处理环境变量的步骤
•	setup.py: 安装、部署、打包的脚本。
    •interface/: 主要存放项目接口文件,根据具体业务逻辑划分对应的文件
•	goods.py
    •	user.py 
    •	account.py
    •log/: 主要存放项目日志文件
•	logging.py: 日志模块
•	setup.py: 安装、部署、打包的脚本。
•requirements.txt: 存放软件依赖的外部Python包列表。存放项目所需模块及版本
•README: 项目说明文件,介绍项目用的

除此之外,有一些方案给出了更加多的内容,比如LICENSE.txt,ChangeLog.txt文件等,主要是在项目需要开源时才会用到,请读者自行查阅。

关于README的内容,这个应该是每个项目都应该有的一个文件,目的是能简要描述该项目的信息,让读者快速了解这个项目。它需要说明以下几个事项:

1、软件定位,软件的基本功能;

2、运行代码的方法: 安装环境、启动命令等;

3、简要的使用说明;

4、代码目录结构说明,更详细点可以说明软件的基本原理;

5、常见问题说明。
posted @ 2023-03-12 20:29  星空看海  阅读(44)  评论(0编辑  收藏  举报