What's the worst codebase you've ever worked on?
You know the kind I'm talking about.
A huge lumping monolith of spaghetti with barely any tests, class hierarchies a mile deep, and a list of dependencies that can make a grown man weep.
Written by a self proclaimed "genius" 15 years ago with junior devs patching features on top of it since.
What's your story? How did you deal with that mess? Are you still on that team?
71 comments
[ 3.0 ms ] story [ 151 ms ] threadThere were 8 layers of abstract classes with only one concrete class at the bottom.
There was a whole half-assed quasi-functional almost-but-not-quite-turing-complete language in XML for parsing legacy binary files.
There were unit tests, but they modified the dev DB so you needed to manually reseed it after every run (defintely no CI).
I spent months trying to refactor some of the more afwul bits. Not sure I actually made things any better.
I still shudder.
Not to detract from the obvious nightmare, but at least they dodged the "accidentally Turing complete" bullet... entirely inadvertently, I'm sure.
Over 50,000 procedural PHP5 files under zero revision control, without a non-production environment to test on, power one of the largest "grey area" e-commerce platforms currently online. The type of place where you can resell medical pills which claim to cure every illness under the sun.
"index_old_test1.php" etc. was normal and the codebase went back to 2005.
It runs (unless things have changed... which is unlikely) on 3 physical servers - HAProxy, Apache2 and MySQL5.
No backup or failover/redundancy.
Oh, and more PII / GDPR data than you can shake a stick at - unencrypted at rest and in transit between app & database servers.
Everyone shared the same root password (no SSH keys!) with boxes listening on 22 via public IPs.
Thankfully the contract was a short albeit terrifying experience.
Never seen anything so bad in nearly 20yrs of tech.
I think part of me would actually kinda enjoy this experience just for the nostalgia factor. I got surprisingly good at making changes in prod without causing downtime...
But honestly now I work on a typescript monolith thats moving to microservices and its probably worse than the ColdFusion code base. I'd rather work on the ColdFusion codebase.