>>
>> If the class in question has legitimate, non-testing, reasons to specify 
>> different Queues, then make it a default argument instead:
>>
>> def __init__(self, ..., queue=None):
>>      if queue is None:
>>          queue = Queue()
>>      self.queue = queue
>
> I already stated that this is is fine, as long as the number of arguments 
> stays in manageable levels. Although I do think testing is good enough reason 
> to have it injected anytime. For consistency, it makes sense to have same way 
> to create all objects. I wouldn't suggested of using that mechanism in public 
> API's, just in internal components.
>

But if the number of arguments is not manageable, you need to change
the design anyway, for the sake of cleanness. So YAGNI.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to