一、为什么要结构规范化

 结构规范化当然为了整齐划一,方便他人阅读和自己阅读。

二、规范化的目录组织方式

  

软件项目架构设计阶段哪些图 软件项目结构_包依赖

 

 

 一般情况下都是这种方式,(上图摘自Roygood 博客)。   

软件项目架构设计阶段哪些图 软件项目结构_软件项目架构设计阶段哪些图_02

 

  1. FOO是我们的项目名称

  2. bin:下面存放项目的可执行文件和脚本 

  3.db(database的缩写): 用来保存一些数据

  4. docs :  一般也会命名为logs,用来存放日志文件,主要用于后面项目运行的排错

  5. setup.py: 安装、部署、打包的脚本

  6. requirements.txt: 存放文件所需要的外部包列表

  7.README: 项目说明文件  (命名格式为.md,用markdown 编辑)

三、关于README的内容

  在githhub项目中最为常见,主要用于说明以下事项:

  1. 软件的功能  

  2. 软件的运行环境,以及启动方法

  3.简要的使用说明。

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

  5.常见问题说明。

 四、setup.py 文件作用

  一般来说,用setup.py来管理代码的打包、安装、部署问题。业界标准的写法是用Python流行的打包工具setuptools来管理这些事情。这种方式普遍应用于开源项目中。不过这里的核心思想不是用标准化的工具来解决这些问题,而是说,一个项目一定要有一个安装部署工具,能快速便捷的在一台新机器上将环境装好、代码部署好和将程序运行起来。setup.py可以将这些事情自动化起来,提高效率、减少出错的概率。"复杂的东西自动化,能自动化的东西一定要自动化。"是一个非常好的习惯。

五、requirements.txt文件

这个文件存在的目的是:

  1. 方便开发者维护软件的包依赖。将开发过程中新增的包添加进这个列表中,避免在setup.py安装依赖时漏掉软件包。
  2. 方便读者明确项目使用了哪些Python包。

这个文件的格式是每一行包含一个包依赖的说明,通常是flask>=0.10这种格式,要求是这个格式能被pip识别,这样就可以简单的通过 pip install -r requirements.txt来把所有Python包依赖都装好了。