zoukankan      html  css  js  c++  java
  • Day4-软件目录开发规范

    层次清晰的目录结构:
    1. 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。
    2. 可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。

    目录组织方式:

    README注意事项:

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

    关于requirements.txt和setup.py

    setup.py:setup.py来管理代码的打包、安装、部署问题,python使用setuptools来安装部署。

    requirements.txt:解决依赖哪些包,使用pip install -r requirements.txt

    不同目录模块间进行互相调用!

    问题:如何实现执行文件foo跨目录调用main.py主程序。

    即如何实现可执行文件atm.py调用core目录下的main.py和conf下的settings.py?说明:项目名Atm的首字母大写,main.py也不是主逻辑程序,它是调用core下的各个文件。

    动态查找绝对路径:

    1 import os
    2 print(os.path.abspath(__file__))
    C:UsersHWPycharmProjectsG3day4Atminatm.py

    atm.py文件:

    import os
    import sys
    #要想atm.py调用main.py,必须添加相对路径
    #步骤1.先找绝对路径os.path.abspath(__file__);2.os.path.dirname()往上一级,找到bin目录下;3.再往上一级,找到Atm目录;
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
    sys.path.append(BASE_DIR) #添加环境变量
    # import conf,core 就可以导入文件了,然后core.main
    from conf import settings
    from core import main
    
    main.login()
    View Code

    main.py文件:

    1 def login():
    2     print("Welcome to my atm")
    View Code

    执行atm.py文件,执行结果:

    Welcome to my atm

  • 相关阅读:
    剑指offer-删除链表中重复的节点
    剑指offer——二叉树中和为某一值的路径
    动态规划之140 Word Break2
    动态规划之139 Word Break
    动态规划之132 Palindrome Partitioning II
    动态规划之115 Distinct Subsequences
    动态规划之97 Interleaving String
    动态规划之91 decode ways
    vector
    第一篇
  • 原文地址:https://www.cnblogs.com/wolfs685/p/6729000.html
Copyright © 2011-2022 走看看