Another college pal, a fellow traveler in the world of the computer sciences, wrote up this list for me. Call him Shenmage, and encourage him to set up the contributor’s account I made him here, the lazy bum. -Fish
As a software engineer, I tend to come across code bases of various levels of quality. To make light of some of the oddities we encountered, myself and some of my co-workers started writing up the logical conclusions of the code structures. Each of these was encountered to some degree or another (though not necessarily as anything beyond a single method). Enjoy, and feel free to add your own to the comments section.
Walmart Pattern
- Has everything you could ever want
- You can’t find anything
- Sometimes have to get multiple of something when you only want one
Sam’s Club Pattern
- See Walmart Pattern
- Can only get things in bulk (no single entities)
Titanic Pattern
- Everything is well structured and coded to the dot
- Only has a manual process for recovering the system (with potentially catastrophic consequences)
Power of Attorney Pattern
- Pass SQL commands directly to a web service to get executed
Lottery Pattern
- Retrievals are randomly generated
- Only occasionally get what you want
Tardis Pattern
- Alters history of an object
- Does more actions than requested
- Doesn’t do anything exactly as you request
Leaning Tower of Pisa Pattern
- Perfectly structured but tightly coupled to outdated tech
Starbucks Pattern
- More identical web services than you need
- Expensive computationally
Monopoly Pattern
- Multithreaded, but one thread eventually eats up all available resources
Glass House Pattern
- Security on a system was completely ignored on critical components
Magic 8 Ball Pattern
- Calls return only boolean values
- ‘Maybe’ is included as a boolean value
- Multiple ways to say each value
Speakeasy Pattern
- Webservice is completely undocumented, so have to know precisely what to send where to use it
Narcissus Pattern
- Class depends upon itself and uses itself to accomplish tasks
Lazy Inspector Pattern
- Methods that should do tasks instead return true
Scorched Earth Pattern
- Update method drops and recreates table
“What’s in the box?!” Pattern
- Large, untyped, container objects are the only objects passed around the system
OCD ORM Pattern
- Verifies all retrievals by retrieving again