If I generalize: Everyone thinks OO is well and dandy in a greenfield project.
Breaks down quickly in big projects though.
The best code I’ve seen is well documented and minimizes stateful code that’s easy to follow.
Somehow the culture around Java became something similar too:
Documentation: Nah I have types.
Stateful code: Nah I just don’t affect other objects (but...maybe just in these 1000 places).
Easy to follow: Nah I follow pattern x and y without documenting it and not enforcing it strictly, also I have so many classes so it should be easy to follow.
Breaks down quickly in big projects though.
The best code I’ve seen is well documented and minimizes stateful code that’s easy to follow.
Somehow the culture around Java became something similar too:
Documentation: Nah I have types. Stateful code: Nah I just don’t affect other objects (but...maybe just in these 1000 places). Easy to follow: Nah I follow pattern x and y without documenting it and not enforcing it strictly, also I have so many classes so it should be easy to follow.