项目规范
包和依赖
- 如无特殊情况,项目的包管理器一律使用pip
- 项目根目录下必须包含requirements.txt文件,作为项目依赖显示声明文件
- 所有依赖都必须显示声明,禁止隐式依赖
- 依赖声明文件中不应该包含项目中没有用到的依赖
- 建议在开发中使用virtualenv做依赖隔离,便于使用pip freeze自动生成
静态文件
配置文件与数据
-
如框架无特殊规定,配置文件应放置于项目根目录下的config文件夹中
-
配置文件在部署、预发布、生产环境、开发环境等环境中会有很大差异,因此请不要将配置文件在上传到git、svn等版本库中, 而是建议在版本库中上传一个配置的示例文件(如:config.example)
-
上传到版本库中配置示例文件不允许出现密码、证书、token等敏感信息
-
数据和程序应该尽量分离,不要将数据写在代码中,需要持久化存储数据必须使用数据库
项目目录结构
- 以下是一个web项目的目录结构示例
.project_root/ 项目根目录
|
├── app/ app代码等(不限定,可根据实际情况命名和确定结构)
│ ├── .../
│ ├── .../
│ └── ...
├── config/ 配置文件夹
│ ├── config.ini 配置文件(应该被版本库ignore掉)
│ └── config.ini.example 配置文件示例
├── static/ 静态文件夹
│ ├── css/
│ ├── img/
│ ├── js/
│ └── favicon.ico 网站图标
├── README.md 项目说明文件
├── requrements.txt 项目依赖文件
├── TODO.md 待完成项目
└── .gitignore 版本库ignore文件