关于 define_py_data_sources2 的几个疑问
Created by: backyes
从代码上来看, define_py_data_sources2 主要对define_py_data_sources的末尾两个参数进行了修订:
- define_py_data_sources2 默认对async 和 data_cls两个参数做了默认处理,最终效果分别为True,和py_data2
if data_cls is None:
def py_data2(files, load_data_module, load_data_object, load_data_args,
**kwargs):
data = DataBase()
data.type = 'py2'
data.files = files
data.load_data_module = load_data_module
data.load_data_object = load_data_object
data.load_data_args = load_data_args
data.async_load_data = True
return data
data_cls = py_data2
问题:
-
从上面define_py_data_sources2的需求来看, py_data2 函数感觉放到define_py_data_sources2 体内比放到define_py_data_source更合适。符合一层一层封装的思路,阅读起来也不容易感觉混乱。 这里能否挪出来 ?
-
data_source.py 既然只导出了define_py_data_sources2函数,那么再继续保留define_py_data_sources的意义也就不大了,因为当前实现已经不向后兼容了。 能否将define_py_data_sources直接去除?
-
既然只导出了define_py_data_sources2 且默认使用py_data2,且使能async,那么就在define_py_data_source定义中不提供data_cls这个函数参数了。
不然代码理解起来感觉不那么顺畅。