Логотип ConstructiCat
CodeBust.
Навигация по разделу ▾

Антипаттерны.

Распространённые решения повторяющихся задач, которые кажутся полезными, но создают больше проблем, чем решают.

Маскот антипаттернов
Действие на расстоянии

Действие на расстоянии — антипаттерн, при котором код в одной части программы незаметно меняет поведение другой, далёкой и не связанной с ним части.

001
Маскот архитектурных паттернов
Лодочный якорь

Лодочный якорь — код или оборудование, которые оставляют в системе, хотя они больше не нужны; они сбивают с толку сопровождающих и замедляют сборку.

002
Маскот рефакторинга
Карго-культ программирование

Карго-культ программирование — ритуальное добавление кода, паттернов или практик, скопированных без понимания того, зачем они нужны и нужны ли вообще.

003
Маскот антипаттернов
Циклическая зависимость

Циклическая зависимость — антипаттерн, при котором модули зависят друг от друга, и ни один из них нельзя собрать, протестировать или переиспользовать отдельно.

004
Маскот рефакторинга
Сильная связанность

Сильная связанность — антипаттерн, при котором модули настолько зависят от внутреннего устройства друг друга, что изменение одного требует менять другие.

005
Маскот антипаттернов
Сокрытие ошибок

Сокрытие ошибок — антипаттерн, при котором код перехватывает ошибку или исключение и продолжает работу, не записав, не обработав и не сообщив о ней.

006
Маскот паттернов проектирования
Божественный объект

Божественный объект — антипаттерн, при котором один класс знает и делает слишком много, сосредоточивая большую часть данных и поведения программы.

007
Маскот паттернов проектирования
Золочение

Золочение — добавление функций или доработок сверх согласованных требований, которое увеличивает затраты и риски, хотя заказчик об этом не просил.

008
Маскот архитектурных паттернов
Золотой молоток

Золотой молоток — привычка применять один знакомый инструмент, язык или архитектурное решение ко всем задачам, даже к тем, для которых он плохо подходит.

009
Маскот архитектурных паттернов
Жёсткое кодирование

Жёсткое кодирование — встраивание путей, учётных данных или ставок прямо в исходный код, из-за чего для их изменения приходится править и пересобирать программу.

010
Маскот запахов кода
Эффект внутренней платформы

Эффект внутренней платформы — создание настолько настраиваемой системы, что она становится плохой копией платформы, на которой работает, например базой данных в базе данных.

011
Маскот рефакторинга
Раздутый интерфейс

Раздутый интерфейс — антипаттерн, при котором один интерфейс обрастает таким числом операций, что каждый клиент зависит от методов, которые не вызывает.

012
Маскот антипаттернов
Поток лавы

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

013
Маскот рефакторинга
Магическое число

Магическое число — безымянный литерал в коде, смысл которого читателю приходится угадывать; именованная константа делает код понятнее и безопаснее для изменений.

014
Маскот архитектурных паттернов
Полтергейст

Полтергейст — короткоживущий класс без состояния, который существует только для вызова методов другого класса и добавляет косвенность без поведения.

015
Маскот антипаттернов
Последовательная связанность

Последовательная связанность — антипаттерн, при котором класс работает правильно, только если его методы вызываются в строго определённом порядке.

016
Маскот запахов кода
Спагетти-код

Спагетти-код — код с запутанным, неструктурированным потоком управления из переходов, вложенных условий и флагов, который трудно читать и сопровождать.

017