Found on Internet

Found on Internet

This anti-pattern refers to the practice of taking advice or code samples found on the Internet and immediately applying them to production code without taking the time to consider their effects. It’s true the Internet is a huge source of … Continued
Exposing Collection Properties

Exposing Collection Properties

Generally, exposing collection properties from domain Entities is an antipattern, because it leads to an anemic domain model and breaks encapsulation. Entities should be responsible for managing their own internal state, and this includes the contents of their related collections. … Continued
Mushroom Management

Mushroom Management

Mushroom Management refers to the practice of treating your developers like mushrooms – to wit, “keep them in the dark and feed them BS.” By introducing barriers between those who develop the software and those who use it, feedback loops … Continued
Anemic Model

Anemic Model

In object-oriented programming, and especially in Domain-Driven Design, objects are said to be anemic if they have state but lack behavior. Some kinds of objects, such as Data Transfer Objects (DTOs), are expected to simply be a collection of data. … Continued
Shiny Toy

Shiny Toy

The Shiny Toy anti-pattern refers to the practice of always thinking today’s problems can all be solved by the latest bleeding-edge tool, technique, or library. While it’s true, the software industry is constantly trying to improve and evolve, new approaches … Continued
Static Cling

Static Cling

Static Cling is a code smell used to describe the undesirable coupling introduced by accessing static (global) functionality, either as variables or methods. This coupling can make it difficult to test or modify the behavior of software systems. Consider the … Continued
Not Invented Here

Not Invented Here

Organizations and individuals who refuse to trust anything they didn’t create themselves spend important resources reinventing wheels and other commodities when they could be spending those resources on the key features that differentiate their product from its competitors. See Also … Continued
Code Smells

Code Smells

Code smells, or bad smells in code, refer to symptoms in code that may indicate deeper problems. They’re a diagnostic tool used when considering refactoring software to improve its design. Not all code smells should be “fixed” – sometimes code … Continued
Calendar Coder

Calendar Coder

Featured in the 2012 Software Craftsmanship AntiPatterns calendar, the Calendar Coder antipattern is a play on the notion of cargo cult programming.  The problem in both cases is the lack of thought and understanding on the part of the developer … Continued
Broken Windows

Broken Windows

Small problems, left uncorrected, signal a lack of care about the state of things. Hence, discipline degrades and problems multiply. Combat code rot in your application by agreeing to and following coding conventions and standards, and by practicing the Boy … Continued