软件开发目录规范
为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为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、常见问题说明。