zoukankan      html  css  js  c++  java
  • Python学习笔记:软件目录结构规范

    一、规范目录结构的好处:

      1、可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。

      2、可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。随着时间的推移,代码规模增加,项目结构不会混乱,仍然能够组织良好。

    二、目录组织形式:

    项目名
    |-- bin | |-- 启动脚本.py | |-- 项目名 | |-- tests | | |-- __init__.py | | |-- test_main.py | | | |-- __init__.py | |-- main.py |
    |— conf
    |— logs |-- docs | |-- conf.py | |-- abc.rst | |-- setup.py |-- requirements.txt |-- README

    三、目录结构解释:

    1. bin: 存放项目的一些可执行文件,当然你可以起名script/之类的也行。
    2. 项目名: 存放项目的所有源代码。(1) 源代码中的所有模块、包都应该放在此目录。(2) 其子目录tests/存放单元测试代码; (3) 程序的主入口命名为main.py,从bin的启动脚本调用main.py
    3. docs: 存放一些文档。
    4. setup.py: 安装、部署、打包的脚本。
    5. requirements.txt:存放软件依赖的外部Python包列表。
    6. README: 项目说明文件。
    7. config:项目配置文件
    8. logs:日志文件
    
    

    四、关于README文件的内容:参考redis项目的README写法

    1. 软件定位,软件的基本功能。
    2. 运行代码的方法: 安装环境、启动命令等。
    3. 简要的使用说明。
    4. 代码目录结构说明,更详细点可以说明软件的基本原理。
    5. 常见问题说明。

    五、setup.py文件:一个项目一定要有一个安装部署工具,能快速便捷的在一台新机器上将环境装好、代码部署好和将程序运行起来。手动部署会遇到过以下问题:

    1. 安装环境时经常忘了最近又添加了一个新的Python包,结果一到线上运行,程序就出错了。
    2. Python包的版本依赖问题,有时候我们程序中使用的是一个版本的Python包,但是官方的已经是最新的包了,通过手动安装就可能装错了。
    3. 如果依赖的包很多的话,一个一个安装这些依赖是很费时的事情。
    4. 新同学开始写项目的时候,将程序跑起来非常麻烦,因为可能经常忘了要怎么安装各种依赖。

     六、总结,简单项目中:bin,项目名(放源代码),conf,logs,这几个目录是必须的,README,main.py,项目名.py(启动脚本),这三个文件是必须的

  • 相关阅读:
    也谈谈我面试的经历
    synchronized和lock比对
    数据结构之查找
    iptable和tcpdump的先后顺序
    iptable的四表五链
    iptable规则的执行顺序
    curl指令的坑
    k8s 网络模型解析之实践
    如何创建一个img文件并且mount 它
    k8s 网络模型解析之原理
  • 原文地址:https://www.cnblogs.com/tangwei-fuzhou/p/12679861.html
Copyright © 2011-2022 走看看