4 ms·
It's the remnants of the late 90's early 2000's software development overengineering disease, so aptly captured in the mess that was J2EE. Similar to "nobody g
by astral303 14y ago
It's the remnants of the late 90's early 2000's software development overengineering disease, so aptly captured in the mess that was J2EE.
Similar to "nobody got fired for buying IBM", the mindset was that "nobody got fired for building layers of abstraction just in case."
It's the culmination of the second system effect.[1] Without a pervasive unit testing culture, the big enterprise answer to "what if" is "let's add a point of flexibility here."
Obviously, people should be held responsible for building unnecessary abstraction layers like that. They waste time and are often wrongly abstracted, so when you do need to go in to refactor, you end up having to fight the pre-existing "what if" abstraction.
[1] http://c2.com/cgi/wiki?SecondSystemEffect http://c2.com/cgi/wiki?SecondSystemEffect
- chris_wot 14y agoThat argument works well for application code, not so well for frameworks as you can never be 100% sure how it will be used.