Антипаттерн « Изобретай колесо » довольно распространен - вместо использования готового решения напишите свое собственное с нуля. Кодовая база растет без необходимости, немного других интерфейсов, которые делают то же самое, но немного по- разному, тратится время на написание (и отладку!) Функций, которые легко доступны. Мы все это знаем.
Но есть что-то на противоположном конце спектра. Когда вместо написания своей собственной функции, состоящей из двух строк кода, вы импортируете инфраструктуру / API / библиотеку, создаете ее экземпляр, конфигурируете, конвертируете контекст в тип данных, приемлемый для инфраструктуры, а затем вызываете эту единственную функцию, которая выполняет именно то, что вам нужно, две линии бизнес-логики под гигабайтом уровней абстракции. И затем вам нужно поддерживать библиотеку в актуальном состоянии, управлять зависимостями сборки, синхронизировать лицензии, и ваш код реализации этого будет в десять раз длиннее и сложнее, чем если бы вы просто «заново изобрели колесо».
Причины могут быть разными: руководство, строго противостоящее «переосмыслению колеса», независимо от стоимости, кто-то продвигает предпочитаемую ими технологию, несмотря на незначительное совпадение с требованиями, сокращающуюся роль бывшего основного модуля системы или ожидание расширения и расширения. использование фреймворка, который никогда не приходит, или просто неправильное понимание "веса", которое пара инструкций импорта / включения / загрузки несет "за кулисами".
Есть ли общее название для такого рода антипаттернов?
(Я не пытаюсь начать обсуждение, когда это правильно или неправильно, или если это настоящий антипаттерн или что-то основанное на мнениях , это простой и объективный вопрос номенклатуры.)
Редактировать: предлагаемый «дубликат» говорит о том, что нужно перерабатывать собственный код, чтобы он был «готов ко всему», совершенно отдельно от внешних систем. Эта вещь может в некоторых случаях происходить из нее, но обычно она происходит от «отвращения к изобретению колеса» - повторного использования кода любой ценой; если существует «готовое» решение нашей проблемы, мы будем его использовать, независимо от того, насколько плохо оно подходит и какой ценой оно будет. Догматически одобряет создание новых зависимостей по сравнению с дублированием кода, с полным игнорированием затрат на интеграцию и обслуживание этих зависимостей по сравнению со стоимостью создания и обслуживания нового кода.