捆绑修改后的模块是否是糟糕的编码实践?
捆绑修改后的模块是否是糟糕的编码实践?
有时候在处理一个大型包时,我会发现其中一个依赖的行为非常难以解决,有时候唯一的解决办法就是修改依赖中的一个模块,并等待开发人员提供修复或新功能的版本。举个具体的例子,假设这个问题出现在matplotlib.legend.py中。下面是我的项目可能的打包方式:
myproject bundled legend.py a.py b.py c.py
在matplotlib发布修复某些错误或实现某些功能的新版本之前,我只需这样调用:
from bundled.legend import X,Y,Z
显然,这种方法有时有效,但通常我需要打包多个模块来实现所需的行为。
有时候这是我继续项目的唯一方式,但我不知道其他工程师对这种做法会有什么反应。在Python中,这种做法可接受吗?很多时候,这不仅仅是为了解决问题,还包括自定义或向myproject添加一些特定功能,而这些功能深入到了模块中。