salomonbrys
09/07/2016, 10:59 AMConfigurableKodein
has been declared mutable and "constructed" (e.g. accessed for the first time), you can add modules to it only by using mutateAddModule
. addModule
will still throw an exception. That's the current state.
I'm worried that this is not very portable: a function that takes a ConfigurableKodein
as argument and adds modules to it does not necessarily have to know if the kodein object is being constructed or mutated. So I'm thinking to remove this restriction and allow to add modules to a mutable ConfigurableKodein
directly with addModule
(and thus deprecate mutateAddModule
).
On the other hand, I do not want to encourage mutability as it should only be used in very specific cases (like unit testing) and I worry that deprecating mutateAddModule
would encourage bad practices (and horribly hard to debug weird bugs).
So here's the dilemma: protability or good practices ???