4 ms·
I'm generally on your side. Functional style and composition are better styles than inheritance since inheritance is too rigid for most things. Inheritance ofte
by namelosw 5y ago
I'm generally on your side. Functional style and composition are better styles than inheritance since inheritance is too rigid for most things. Inheritance often results in substantially more refactors required, and possibly even worse when at some point it's impossible to refactor.
With that said, in real-world projects, the bigger problem is to find the "greatest common divider" - which are the most common skillsets people are familiar with and settle with that. For example, in many full-stack projects, people are more familiar with the backend language which is mostly OO, and it might be a good idea to settle with OO style in the front-end as well. If the functional style is desired in the future, make sure to educate everybody, have a plan, set the direction so everybody can head toward it.
Some Scala projects are struggling with this issue. It results in mixed codebases, where OO guys cannot understand half of the codebase, and the functional guys are angry at OO guys who wouldn't learn, while keep introducing new novelty every month. Operating a team is more than technology, a key part is to keep everybody aligned, and make sure everybody was well taught with the knowledge they need.