Описание тега anti-patterns
Антипаттерн можно рассматривать как "наихудшее из возможных" решение проблемы, поскольку он может "работать" по назначению, но иметь нежелательные побочные эффекты или приводить к техническому долгу. Антипаттерны могут возникнуть из-за неправильного образования, недостаточного опыта или простого незнания.
SQL-инъекция
Короче говоря, это анти-шаблон применения нефильтрованного пользовательского ввода непосредственно к строке запроса базы данных. Это может показаться быстрым и простым решением для запроса данных, однако это может привести к повреждению данных, нарушениям безопасности и так далее.
Пример:
query-string = "select * from users where id='" + userid + "';"
Если предположить userid
переменная поступила непосредственно от пользователя, злоумышленник может вызвать проблемы, установив для нее значение, которое может вызвать неожиданное поведение:
userid = "' or 1=1;drop table users"
Тесная связь
Вместо того, чтобы хранить две отдельные части приложения отдельно (CSS и HTML; бизнес-логика и представление в приложении MVC), части смешиваются таким образом, что изменение одной влечет за собой изменение другой.
Пример:
CSS
.yellow { color: yellow; }
HTML
<div class="yellow">foo</div>
Чтобы изменить форматирование, либо содержимое (HTML) должно быть изменено путем замены другого имени класса, либо определение класса (CSS) должно быть изменено на то, что не соответствует его имени.
Другие
В Википедии есть и другие примеры.