Das Antimuster " Das Rad neu erfinden " ist weit verbreitet - anstatt eine fertige Lösung zu verwenden, schreiben Sie Ihre eigenen von Grund auf neu. Die Codebasis wächst unnötig, es gibt leicht unterschiedliche Schnittstellen, die das Gleiche tun, aber leicht unterschiedlich sind. Es wird Zeit verschwendet, um leicht verfügbare Funktionen zu schreiben (und zu debuggen!). Das wissen wir alle.
Aber es gibt etwas am anderen Ende des Spektrums. Wenn Sie keine eigene Funktion mit zwei Codezeilen schreiben, sondern ein Framework / API / eine Bibliothek importieren, instanziieren, konfigurieren, den Kontext in einen vom Framework als akzeptabel eingestuften Datentyp konvertieren und dann diese eine einzige Funktion aufrufen, die genau das tut, was Sie benötigen, zwei Zeilen Geschäftslogik unter einem Gigabyte Abstraktionsebenen. Und dann müssen Sie die Bibliothek auf dem neuesten Stand halten, Build-Abhängigkeiten verwalten, die Lizenzen synchron halten, und Ihr Code für die Instanziierung ist zehnmal länger und komplexer als wenn Sie nur das Rad neu erfunden hätten.
Die Gründe können vielfältig sein: Das Management ist strikt gegen eine "Neuerfindung des Rades", unabhängig von den Kosten, jemanden, der seine bevorzugte Technologie trotz geringfügiger Überschneidungen mit den Anforderungen vorantreibt, eine schwindende Rolle eines ehemals wichtigen Moduls des Systems oder die Erwartung einer Erweiterung und eines umfassenderen Angebots Verwendung des Frameworks, das einfach nie ankommt, oder Missverständnis des "Gewichts", das ein paar Anweisungen zum Importieren / Einschließen / Laden "hinter den Kulissen" mit sich bringen.
Gibt es einen gebräuchlichen Namen für diese Art von Antimuster?
(Ich versuche nicht, eine Diskussion zu beginnen, wenn dies richtig oder falsch ist oder wenn es sich um ein echtes Gegenmuster oder um eine auf Meinungen basierende Frage handelt. Dies ist eine einfache, unkomplizierte und objektive Nomenklaturfrage.)
Bearbeiten: Das vorgeschlagene "Duplikat" befasst sich mit der Überarbeitung des eigenen Codes, um ihn "für alles bereit" zu machen, ganz abgesehen von externen Systemen. Dies mag in bestimmten Fällen darauf zurückzuführen sein, ist aber im Allgemeinen auf "Abneigung gegen die Neuerfindung des Rads" zurückzuführen - die Wiederverwendung von Codes um jeden Preis; Wenn es eine "fertige" Lösung für unser Problem gibt, werden wir sie verwenden, egal wie schlecht sie passt und zu welchen Kosten sie anfällt. Die Erstellung neuer Abhängigkeiten wird dogmatisch gegenüber der Codeduplizierung favorisiert, wobei die Kosten für die Integration und Wartung dieser Abhängigkeiten im Vergleich zu den Kosten für die Erstellung und Wartung des neuen Codes völlig unberücksichtigt bleiben.