Skip to content
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

Mark classes as final #2101

Open
franmomu opened this issue Jul 19, 2022 · 1 comment
Open

Mark classes as final #2101

franmomu opened this issue Jul 19, 2022 · 1 comment

Comments

@franmomu
Copy link
Contributor

Thinking about 8.0 I think we should mark as many classes as possible with @final to let the user know that they will become final in 8.0. This will ease the maintenance (reducing the number of possible BC breaks) and we can always revert this if there are valid use cases.

@ruflin
Copy link
Owner

ruflin commented Aug 11, 2022

I'm torn on this proposal. I see the benefit around maintenance. At the same time it removes flexibility. Every time someone wants to extend a function / class we didn't expect to be extended for their own benefit, a new release is needed. Instead if we go with extendable by default, there is a risk that some changes on our end might break things for this users if we get more strict. We had recently a few of these cases where we did kind of breaking changes but so far I don't think we have heard of any place where it actually was a breaking change.

I think both paths will work and lets discuss a bit more what is the right one for Elastica. What kind of classes did you plan to mark as final?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants