You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Its is currently very hard to take one module and re-use it in isolation.
For example if you just wanted to take the 'plock2pdefs' module you also have to import a lot of unrelated other modules.
This comes due to the fact that config in all modules is a global attribute. If you access any attribute other than your own you have an implicit dependency on another module. This breaks isolation of modules and even worse dependencies are not declared and the only way to find out via error-retry and code-studies.
We should de-couple modules and declare dependencies explicitly, such that you can only access attributes from explicitly declared modules.
I see the following action points:
Detangle modules.
Create stricter module interfaces. (where only explicitly imported modules config attributes are actually available, preventing implicity)
The text was updated successfully, but these errors were encountered:
I agree in retrospect these were aspects that I would design differently.
I started migrating several modules to lib to avoid these specific design flaws but plock2pdefs is necessarily going to be one of the last ones I can move because it depends on basically every other subsystem.
Its is currently very hard to take one module and re-use it in isolation.
For example if you just wanted to take the 'plock2pdefs' module you also have to import a lot of unrelated other modules.
This comes due to the fact that
config
in all modules is a global attribute. If you access any attribute other than your own you have an implicit dependency on another module. This breaks isolation of modules and even worse dependencies are not declared and the only way to find out via error-retry and code-studies.We should de-couple modules and declare dependencies explicitly, such that you can only access attributes from explicitly declared modules.
I see the following action points:
The text was updated successfully, but these errors were encountered: