前段时候开发了一个ATM+购物车的项目,虽然功能全部都实现了,但是所有的代码堆积在同一个文件夹中,杂乱无章,让人一眼看过去就没有食欲了。。。为了避免这种情况,为了合理的规划我们的代码,为了提高代码的可维护性与可读性,我们就来学习一下项目开发目录结构规范。
首先,我们应该弄清楚,我们为什么要有目录。
我们来想象这样一个场景:当我们读一本书的时候,我们会看到这本书的目录,它告诉我们这本书的内容有哪几部分,每个部分又包含哪些小部分。我们开发软件也是一样,按照规则将不同种类的代码放入不同的文件夹下。这样我们的项目就会有一种令人一目了然的感觉。
“项目目录结构”是属于”可读性和可维护性”的范畴,我们设计一个层次清晰的目录结构,就是为了达到以下两点:
- 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。就像我们所使用的Linux系统一样,固定约定熟成的目录代表不同的功能等。
- 可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。
所以,保持一个层次清晰的目录结构是有必要的。更何况组织一个良好的工程目录,其实是一件很简单的事儿。
现在,我们就来拟写一个目录结构
|-ATM(项目名)
|- |-bin(程序入口,也就是启动程序的文件)
|- |- |-start.py(运行此文件就可以启动脚本)
|
|- |-conf(配置文件放在这里面)
|- |- |-settings.py(里面放一些需要用到的变量常量等)
|
|- |-core(主要代码体)
|- |- |-src.py(里面放置的是主要代码)
|
|- |-db(数据文件)
|- |- |-db.txt(各种数据存放处)
|
|- |-lib(库)
|