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
The build_forcing_sets function in the abstract interface is implementing logic for the concrete types by switching on the configuration/input parameters provided in the config file.
This is a serious anit-pattern. The abstract functions should be @abstractmethods and the appropriate subclasses should implement overloaded functionality based on the dynamic type as needed.
This also seems to have crept in with other functions such as nex_files_to_binary. Though this function isn't a member of the abstract class, it really belongs to the hy_features/ngen utilities and probably shouldn't be in the AbstractNetwork module.
Similarly, but could possibly be argued as generic functionality, initialize_warmstate_preprocess looks like it may be encroaching as well.
The text was updated successfully, but these errors were encountered:
The build_forcing_sets function in the abstract interface is implementing logic for the concrete types by switching on the configuration/input parameters provided in the config file.
This is a serious anit-pattern. The abstract functions should be
@abstractmethod
s and the appropriate subclasses should implement overloaded functionality based on the dynamic type as needed.This also seems to have crept in with other functions such as nex_files_to_binary. Though this function isn't a member of the abstract class, it really belongs to the hy_features/ngen utilities and probably shouldn't be in the
AbstractNetwork
module.Similarly, but could possibly be argued as generic functionality, initialize_warmstate_preprocess looks like it may be encroaching as well.
The text was updated successfully, but these errors were encountered: