▲ | Swizec 10 days ago | |||||||||||||||||||||||||
> So, is pile-of-if-statements the best we can do for business software? You’ll enjoy the Big Ball of Mud paper[1]. Real world systems are prone to decay. You first of all start with a big ball of mud because you’re building a system before you know what you want. Then as parts of the system grow up, you improve the design. Then things change again and the beautiful abstraction breaks down. Production software is always changing. That’s the beauty of it. Your job is to support this with a mix of domain modeling, good enough abstraction, and constructive destruction. Like a city that grows from a village. [1] https://laputan.org/mud/mud.html [2] my recap (but the paper is very approachable, if long) https://swizec.com/blog/big-ball-of-mud-the-worlds-most-popu... | ||||||||||||||||||||||||||
▲ | citizenpaul 10 days ago | parent | next [-] | |||||||||||||||||||||||||
I'm not sure the author or most people that write these types of academic theory papers ever really see actual ball-of-mud-spaghetti code in real world scenarios. I think anyone that thinks mudball is OK because business is messy has never seen true mudball code. I've had to walk out of potential work because after looking at what they had I simply had to tell them I cannot help you, you need a team and probably at minimum a year to make any meaningful progress. That is what mudballs leads to. What this paper describes is competent work that is pushed too quickly for cleaning rough edges but has some sort of structure. I've seen mudballs that required 6-12 months just to do discovery of all the pieces and parts. Hundreds of different version of things no central source control, different deployment techniques depending on the person that coded it even within the same project. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | conradkay 10 days ago | parent | prev [-] | |||||||||||||||||||||||||
First link is broken https://s3.amazonaws.com/systemsandpapers/papers/bigballofmu... |