首页 > 代码库 > Day4-软件目录开发规范

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:\Users\HW\PycharmProjects\G3\day4\Atm\bin\atm.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

 

Day4-软件目录开发规范