3 ms·
I think this could be condensed somewhat. For example, the Jumble seems similar to Big Ball o' Mud, while Junkyard Coding, Stovepipe, and Rube Goldberg Machines
by msluyter 17y ago
I think this could be condensed somewhat. For example, the Jumble seems similar to Big Ball o' Mud, while Junkyard Coding, Stovepipe, and Rube Goldberg Machines all share characteristics.
I'd also like to see design/programming patterns distinguished from organizational patterns like Empire Building or Hero Culture (though not surprisingly, they tend to be correlated with each other.)
Regarding the commonality of these patterns, having worked in an Oracle environment for a while, the ones I see most often seem to be Stovepipe systems and Big Ball of Mud. SQL in particular tends to force a stovepipe approach, because if you try to hide too much complexity behind nice PL/SQL interfaces, you tend to get highly suboptimal explain plans, and/or, you end up losing advantages of multi-block I/O and batch processing. So, instead, you have huge multi-table joins that are inherently brittle and difficult to maintain but which perform adequately. (Yes, views can help here to some degree.)
Because you don't have many clean interfaces, refactoring becomes more difficult and you also get tons of copy/paste code, resulting in an eventual Big Ball of Mud.