软件开发规范
一、为什么要有软件开发规范?
app 软件 不可能全部都写在一个文件中,加载效率低,不容易查找,不规范。代码越多,你越不能放在一个文件中,你需要将你的代码分成多个文件,软件开发规范应运而生。
二、规定路径
为了让划分成多块的程序正常运行,需要在sys.path
列表中,加入程序的根目录,以方便模块之间的相互读取,同时也可以方便注册表路径及其他文件的读取,不会出现迁移程序无法运行的问题;故在启动文件中需要加入以下语句:
import sys
import os
BASE_PATH = os.path.dir(os.path.dir(__file__)) # 由于启动文件starts.py一般存储在根目录的bin目录下,所以需要读取将此目录路径
sys.path.append(BASE_PATH)
三、划分文件及文件夹
-
bin 目录及 starts.py 文件
bin(binary) 目录一般存放项目启动文件。在一个项目中,需要有专门的文件启动,而不是在核心逻辑部分进行启动的,单独将启动模块放置,方便开启整个项目。
BASE_PATH
的定义和模块路径的添加都在启动文件中,另外为了能够让 starts.py 文件成为项目的唯一开启点,我们会在文件中加入以下语句:from core import src # 读取src模块,否则无法找到run()函数 if __name__ == '__main__': src.run()
-
conf 目录及 settings.py 文件
con(configure) 目录一般存放配置文件。就是一些项目中需要的静态参数,比如文件路径,数据库配置,软件的默认设置等等;如博客园作业的注册表路径
register_path
的存储,就属于配置文件。 -
core 目录及 src 文件
core 目录主要存放 src(source) 文件,主要存放核心逻辑功能,核心功能函数,都应该放在 src.py 中,包括
run()
函数的声明。 -
db 目录及 register 文件
db(database) 目录主要存放数据文件,类似于文本数据库,如我们作业中的 register 文件就应该存储在 db 目录下。
-
lib 目录及 common 文件
lib(library) 目录主要存放公共组件文件,放置我们常用的公共组件函数,而不是我们的核心逻辑函数,类似于整个程序中的公共插件,比如我们程序中的装饰器
auth
,另外密码加密功能,序列化功能,日志功能都可以存放于此。 -
log 目录及 access 文件
log 目录主要存放日志文件,主要供开发人员使用,比如项目中出现一些 bug 问题,比如开发人员对服务器的一些操作都会记录到日志中,供开发者浏览查询。
-
README 文件
简要地描述项目的信息,让读者快速了解整个项目。需要说明以下注意事项:
- 软件定位,软件的基本功能。
- 运行代码的方法:安装环境、启动命令等。
- 简要的使用说明。
- 代码目录结构说明,更详细点可以说明软件的基本原理。
- 常见问题说明。