多人开发时的项目代码结构设计
首选多人开发项目,假设有abc三个人开发三个模块,采用gitlab管理代码时,要有一个主分支,和abc三个另外分支。在abc三个分支中,每个分支只放自己的代码,注意必须只放自己的代码!!!,任何重复的代码都不要有!!!!这样在合并到主分支时,只需要只使用分支代码替换即可。如果一旦和主分支有重复代码,主分支发生改变时就要解决两个冲突,这样就会增加合并分支的麻烦。
主分支只负责调用三个分支合并过来的代码,这样就能比较快速的管理代码,同时为了方便管理方法,我们可以在a、b、c三个文件夹中创建相同的文件名为common_module.py在这个基础上,我们继续开发讲解代码开发中的导入包问题。
假设现在有一个项目,项目路径下有一个utils文件夹和一个web-back文件夹,在web-back文件夹中有个server.py文件,该文件中会调用utils文件夹的方法。在utils中有三个文件夹,由三个人开发,a开发的方法放在a文件夹中,b开发的方法放在b文件夹中,c开发的方法放在c文件夹中。项目路径下执行python3 utils/server.py,如何保证可以正确的调用abc三个文件夹中的方法?
例如我们在server.py文件中想要比较像正规一样点的使用,应该这样
from utils.a.common_module import * from utils.b.common_module import * from utils.c.common_module import *
这样的话,就说明utils是一个python包,里面需要创建一个__init__.py文件,
其次三个文件夹中每个文件夹也需要创建一个__init__.py文件,这样就可以被识别为标准的python包,就可以导入了
所以整个项目代码的文件结构应该是这样的
project/ ├── utils/ │ ├── __init__.py │ ├── a/ │ │ ├── __init__.py │ │ ├── common_module.py │ │ └── a_b.py │ ├── b/ │ │ ├── __init__.py │ │ └── common_module.py │ └── c/ │ ├── __init__.py │ └── common_module.py └── web-back/ ├── __init__.py └── server.py
这里需要说明一下,如果a/common_module.py调用a/a_b.py中的方法,根据python的规则,包内的python代码互相调用采用相对路径,即from .a_b import *
另外,在utils中一个配置文件,abc三个文件夹都会编辑这个配置文件,这个时候如果配置文件被反复修改,合并分支又会给自己添麻烦,所以我是不想给自己找一丁点麻烦,最好的办法是让三个人吧需要的配置参数提提前说明一下,然后自己补充道main分支里
db数据库传入,可以放在配置文件中,和config字典一起import
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/18300626,如有侵权联系删除