I know for a fact that one of the subsystems for a major energy multinational was supposedly "Object Oriented" but which had absolutely no instance variables and no instance methods. Instead, "objects" were actually represented as what were essentially contiguous regions of arrays of structs, and everything was implemented in the form of oodles of cut-and-paste variations of essentially the same 4 index incrementing merge-like deeply nested looping/conditional class methods which called the other variations recursively. This wasn't an obscure system either, but was actually responsible for hedging all of the trades for that major energy multinational! When that subsystem had a bug, multi millions of dollars of trades would go un-hedged each minute.
Just a week ago I did a little side-job for a client who was previously helped by a moderately-sized web development company (100+ employees) with a WordPress site. They were too expensive for him.
There's so much I could say about the crap I found (and if someone asks I'll be happy to!), but I can summarize it by saying that it was bad even compared to the what I've come to expect from WP sites that are plugin- and WYSIWYG-layout-builder-laden, to the point of being utterly unmanageable from the WP backend interface, even on a local setup, because just exploring the ridiculous custom interface pages take ages to load.
I truly cannot imagine this code being written by anyone but a lowly, unsupervised intern at this company. And yet, based on my experience, it was probably just some 'regular' employee, unnoticed by his manager, and his manager, and the client none the wiser because how should he be able to assess competence.
I and I'm sure others here would be delighted to hear those stories about the crap you found. Those are often the most interesting kinds of stories, fire away!
I'm not disagreeing with you, but from what I know about WP, it could have been auto-generated. The plugin ecosystem is extremely varied and does lots of crazy shit
Densely packed structures with no object oriented code sometimes make sense in latency critical code and are not uncommon in financial systems.
That being said, if they weren't trying to eke every microsecond of performance out of the system, then that's pretty poor design, maintainability wise.
That being said, if they weren't trying to eke every microsecond of performance out of the system, then that's pretty poor design, maintainability wise.
She wasn't trying to eke every microsecond. There were some smart guys on our team, and we were all afraid of that code! The programmer who wrote it would fire back about her Mathematics PhD if you ever tried to bring up Object Oriented design. When I was there, she would sit in the cafe downstairs eating a sandwich, until something broke. She wrote herself fantastic job security!