今天我在看Django源代码,我注意到:
class DjangoTestSuiteRunner(object):
def __init__(self, verbosity=1, interactive=True, failfast=True, **kwargs):
self.verbosity = verbosity
self.interactive = interactive
self.failfast = failfast
为什么他们会在构造器中接受kwargs而不做任何事情呢?在
Tags:
这种模式可以使向后/向前兼容性更容易。 如果新/旧版本的代码有更多/更少的参数,则不会破坏所有内容。在
另外,当您继承这个类(例如mixin)时,只接受所有的东西会很方便。在
Imho这不是一个很好的模式,但它是有效的。在
相关问题 更多 >
编程相关推荐