一个项目开发的过程

作者: 七月尾巴_葵花 | 来源:发表于2017-05-06 23:51 被阅读59次

    配置文件和数据

    1. 如框架无特殊规定,配置文件应放置于项目根目录下的config文件夹中

    2. 配置文件在部署、预发布、生产环境、开发环境等环境中会有很大差异,因此请不要将配置文件在上传到git、svn等版本库中
      而是建议在版本库中上传一个配置的示例文件(如:config.example)

    3. 上传到版本库中配置示例文件不允许出现密码、证书、token等敏感信息

    4. 数据和程序应该尽量分离,不要将数据写在代码中,需要持久化存储数据必须使用数据库

    项目目录结构示例

    以下是一个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文件
    
    

    包和依赖

    1. 如无特殊情况,项目的包管理器一律使用pip

    2. 项目根目录下必须包含requirements.txt文件,作为项目依赖的显示声明文件

    3. 所有依赖都必须显示声明,禁止隐式依赖,例如:

      # 错误,依赖的wget在别的系统环境下很可能不存在
      def download(url):
          os.system('wget %s' % url)
      

      以上代码隐式依赖了wget,但很有可能开发环境中有wget,而在部署环境下根本不存在,
      这样部署app时就很可能出错!

    4. 依赖声明文件中不应该包含项目中没有用到的依赖

    5. 建议在开发项目时使用virtualenv做依赖隔离,便于使用pip freeze自动生成

      # 自动生成requirement.txt示例
      $ pip freeze > requirements.txt
      

    相关文章

      网友评论

        本文标题:一个项目开发的过程

        本文链接:https://www.haomeiwen.com/subject/tcgytxtx.html