Антипаттерны.
Распространённые решения повторяющихся задач, которые кажутся полезными, но создают больше проблем, чем решают.
Действие на расстоянии — антипаттерн, при котором код в одной части программы незаметно меняет поведение другой, далёкой и не связанной с ним части.
Лодочный якорь — код или оборудование, которые оставляют в системе, хотя они больше не нужны; они сбивают с толку сопровождающих и замедляют сборку.
Карго-культ программирование — ритуальное добавление кода, паттернов или практик, скопированных без понимания того, зачем они нужны и нужны ли вообще.
Циклическая зависимость — антипаттерн, при котором модули зависят друг от друга, и ни один из них нельзя собрать, протестировать или переиспользовать отдельно.
Сильная связанность — антипаттерн, при котором модули настолько зависят от внутреннего устройства друг друга, что изменение одного требует менять другие.
Сокрытие ошибок — антипаттерн, при котором код перехватывает ошибку или исключение и продолжает работу, не записав, не обработав и не сообщив о ней.
Божественный объект — антипаттерн, при котором один класс знает и делает слишком много, сосредоточивая большую часть данных и поведения программы.
Золочение — добавление функций или доработок сверх согласованных требований, которое увеличивает затраты и риски, хотя заказчик об этом не просил.
Золотой молоток — привычка применять один знакомый инструмент, язык или архитектурное решение ко всем задачам, даже к тем, для которых он плохо подходит.
Жёсткое кодирование — встраивание путей, учётных данных или ставок прямо в исходный код, из-за чего для их изменения приходится править и пересобирать программу.
Эффект внутренней платформы — создание настолько настраиваемой системы, что она становится плохой копией платформы, на которой работает, например базой данных в базе данных.
Раздутый интерфейс — антипаттерн, при котором один интерфейс обрастает таким числом операций, что каждый клиент зависит от методов, которые не вызывает.
Поток лавы — антипаттерн, при котором непонятный недоделанный код застывает в продакшене, потому что никто не понимает его достаточно, чтобы удалить.
Магическое число — безымянный литерал в коде, смысл которого читателю приходится угадывать; именованная константа делает код понятнее и безопаснее для изменений.
Полтергейст — короткоживущий класс без состояния, который существует только для вызова методов другого класса и добавляет косвенность без поведения.
Последовательная связанность — антипаттерн, при котором класс работает правильно, только если его методы вызываются в строго определённом порядке.
Спагетти-код — код с запутанным, неструктурированным потоком управления из переходов, вложенных условий и флагов, который трудно читать и сопровождать.