Replies: 1 comment 1 reply
-
My opinion is that it should be allowed. It is very very powerful and avoids the proliferation of tons of helper functions being defined everywhere that this is currently being utilized. It also helps with swapping out different physics kernels because you can grab an interface by it's |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
There was a bit of a discussion on this and I'm curious to know what others think.
These methods are used fairly prolifically in ARMI and downstream ARMI applications.
armi/armi/operators/operator.py
Line 908 in f5681d7
armi/armi/interfaces.py
Lines 421 to 422 in f5681d7
Is it ok to do so? There's certainly validity to the potential of these methods getting abused. E.g., a specific interface stack order is set and then a plugin dev decides they need an interface, do stuff with that interface, and change the state out of the prescribed order. On the other hand, sometimes functionality from an interface is legitimately needed. Should an import be used instead? Maybe doing so introduces circular imports and other not-fun dependencies. Curious to know what the community thinks here.
Beta Was this translation helpful? Give feedback.
All reactions