Программный анти-шаблон - это широко используемое решение конкретной проблемы программирования, часто утверждающее, что он является реальным [тег: шаблоны-шаблоны]. Но такое решение обычно приводит к неблагоприятным последствиям для масштабируемости, тестируемости и обслуживания приложения.

Антишаблон можно рассматривать как «наихудшее» решение проблемы в том смысле, что он может «работать» по прямому назначению, но иметь нежелательные побочные эффекты или нести технический долг. Анти-паттерны могут возникать из-за неправильного образования, недостаточного опыта или простого невежества.

SQL-инъекция

Короче говоря, это анти-шаблон применения нефильтрованного пользовательского ввода непосредственно к строке запроса базы данных. Это может показаться быстрым и простым решением для запроса данных, однако может привести к повреждению данных, нарушениям безопасности и т. Д.

Пример:

query-string = "select * from users where id='" + userid + "';" 

Предполагая, что переменная userid получена непосредственно от пользователя, злоумышленник может вызвать проблемы, установив значение, которое может вызвать неожиданное поведение:

userid = "' or 1=1;drop table users" 
[ 118] Тесная связь

Вместо того, чтобы разделять две отдельные части приложения (CSS и HTML; Business Logic и View в приложении MVC), части смешиваются так, что изменение одной из них требует изменения другой.

Пример:

CSS

.yellow { color: yellow; } 

HTML

<div class="yellow">foo</div> 

Чтобы изменить форматирование, необходимо изменить либо контент (HTML), подставив другое имя класса или определение класса (CSS) должно быть изменено на то, что не соответствует его имени.

Другие

В Википедии есть другие примеры .