-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Objective classes #188
Objective classes #188
Conversation
Hi @Scienfitz and @AVHopp, the objective PR is finally ready. I know it seems like a lot of changes, but please be aware that in most files only the references were updated, so it's not as much as it appears at the first glance. Also, I've created one initial commit where I copied the plain objective source code to the new subclass files, so you can also see diffs if you compare against that commit. Other than that, there was really no better way to break this PR down to smaller changes... But let me know what you think 🙃 |
This solves the Law of Demeter violation in `DesirabilityObjective`, whose validation step previously relied on a non-obvious implementation detail of the target class. A modification of the target code would have been at risk of silently breaking the target code.
This also takes care of the combine_func attribute renaming
Co-authored-by: Martin Fitzner <[email protected]>
a327984
to
54189cf
Compare
Hi @AVHopp @Scienfitz. All open issues have been addressed and the PR is now ready for merge from my side (except for that one open issue where I would appreciate some suggestions, @Scienfitz). BTW: decided to update via merge instead of rebase because this would have been really error-prone... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good :)
* Rename to _is_transform_normalized * Improve docstring and error message
This PR introduces the new objective classes
SingleTargetObjective
andDesirabilityObjective
as replacements for the formerObjective
class, together with an appropriate deprecation mechanism.