# IT:AD:Design:AntiPatterns # * [[../|(UP)]] {{indexmenu>.#2|nsort tsort}} AntiPatterns are common code practices that are thought to make development easier...but turn out to do the opposite. ## AntiPatterns ## ###### Vestigial Structure Pattern ###### Keeping old methods because we can't remember if anybody is calling them...Nobody brave enought to remove. ###### Flags Over Objects ###### Properties to help it decide which way to render, etc. **[[IT/#DDD/]]** Document Driven Design is a denigrating term for software designed by the [[IT/#BA/]]s who are defining technical specifications that they have no qualifications for (ie, defining the db schema, the [[IT/#UX/]], etc.) ###### Gawd Classes * See: [[IT/AD/Design/AntiPatterns/Gawd Classes|Gawd Classes]] ###### Active Record ###### * See: [[IT/AD/Design/AntiPatterns/Active Record/]] ###### The Iceberg Class ###### ie: Big Privates ... ###### Found On Internet ###### ###### Copy-Paste-Compile Pattern ###### "I copied it from CodeProject". in contrast to [[IT/AD/Patterns/DRY/]] ###### THe Golden Hammer ###### Same language/tool for everything... ###### Shiny Toy ###### ###### Not Invented Here ###### You just got to write your own, eh? ###### Beware The Share! ###### ###### Feature Creep###### Missed Software, Deliver frequenty. ###### Assumption Driven Programming###### You are Not the User. Cats thinking as Dogs. ###### Telemarketer Principle###### Contrast with [[IT/AD/Patterns/Hollywood Principle/]]. ###### Static Cling Pattern ###### Static things are to be avoided. ###### Spare Parts in Close Formation ##### Using [[IT/#scalar/]]s as arguments to methods, is easier, but (no pun intended) doesn't scale well across [[IT/#Tier/]]s.