Remix.run Logo
Panzerschrek 8 hours ago

> Make all of your leaf classes final. After all, you're done with the project - certainly no one else could possibly improve on your work by extending your classes.

It's actually a good advice. A class not designed to be extendable should be marked as final.

cogman10 30 minutes ago | parent [-]

Especially since it takes like 2 seconds to make said classes unfinal and there are no negative consequences of doing this.

But 1999, that was peak "inheritance is how we fix everything" thinking.

About the only reason to not do this is if you are writing a library. Even then, it's better to make extensions available through things like closures (not really available in 1999).