Hat eine anerkannte anti-Muster mit je nachgewiesen worden, um tatsächlich ein Problem zu lösen, oder auf irgendeine andere Art und Weise von Nutzen sein? [geschlossen]

StackOverflow https://stackoverflow.com/questions/1847596

  •  13-09-2019
  •  | 
  •  

Frage

Hat ein anerkannte anti-Muster unter Verwendung jemals tatsächlich nachgewiesen worden, in einem bestimmten Fall zu arbeiten? Haben Sie jemals ein Problem lösen oder irgendeine Art von Nutzen in einem Ihrer Projekte gewinnen, indem sie ein Anti-Muster mit?

War es hilfreich?

Lösung

Anti-Patterns sind immer noch so weit um nur weil sie ein bestimmtes Problem zu lösen (während 10 neue zu schaffen). Auch bekannt als Abhilfe . Aber wie sagt sie? Nichts hält länger als ein Notbehelf.

In der Tat glaube ich, dass wir alle arbeitslos sein würden, wenn die Dinge von Anfang an getan worden waren.

Andere Tipps

Mein Verständnis des „anti-Muster“ Konzept ist, dass es umfasst Lösungen, die Nachteile, die sich nur auf lange Sicht zeigen. Tatsächlich ist die Hauptgefahr mit vielen ihnen verbunden --- wie Spaghetti-Code mit Lasten der globalen Variablen und gotos in alle Richtungen, oder werfen Ausnahmen in das schwarze Loch eines leeren catch Blockes zu schreiben --- ist, dass sie verführerisch sind weil sie eine zweckmäßige Lösung zu einem sofortigen Problem.

EDIT hinzuzufügen: Dieser Grund, manchmal Sie profitieren von diesem anti-Muster haben abzuleiten. Manchmal wird Ihre Berechnung, dass Sie Wegwerf-Code schreiben, dass niemand wieder berühren wird, ist völlig falsch und Sie aufzuwickeln mit Programmierern Ihr Erbe und sexuelle Hygiene verleumden, aber auch andere Zeiten, du hast recht, und dass crummy Shell-Skript, das zusammen mit Ballen Helds Draht und Spucke macht den Job Sie es dann gesegneter vergessen zu tun beabsichtigt und wird, können Sie die viel Zeit und Mühe anständiger etwas zusammen~~POS=TRUNC zu speichern.

Das größte Problem, dass es in meiner Erfahrung gelöst hat, wird eine neue Anwendung gestartet wird.

Wenn das Entwicklerteam die neue Anwendung thouroughly scoped hat, die Zeitleiste die richtige Lösung zu implementieren, ist in der Regel zu viel für das Management zu tragen. Daher oft, Sie Code, um die Timeline, sondern als „Richtigkeit“ der Lösung zu treffen, um den Starttermin zu bekommen, (aber andere haben die Kodierung die „richtige“ Lösung für die nächste Umdrehung), es im Wesentlichen „Wegwerf“ machen Code.

Eine Software anti-Muster Softcoding , auch definiert unter die tägliche WTF . Softcoding passiert, wenn Programmierer Material setzen, dass innerhalb Code in externe Ressourcen „sollte“.

Ich arbeite mit Software, die einige sagen vielleicht leidet an softcoding. Externe Dateien treiben die Software. Diese externen Dateien sind eine Mikro-Sprache: sie müssen in XML erstellt werden, bevor die Software sie verwenden kann. Diese Mikro-Sprache hat ihre eigenen Werkzeuge.

Aber softcoding ist immer im Kopf des Betrachters.

das Material in einer Mikro-Sprache mit ihren eigenen Parser zu haben, ist mein Leben leichter gemacht. Eine Datenquelle kann viele verschiedene Ausgänge erzeugen: Zusätzlich zu der Version, die das Hauptprogramm verwendet, kann ich Informationen in HTML zu extrahieren, CSV und andere Formate, die unsere Kunden wünschen. Andere Programme können Code in der Mikro-Sprache erzeugen, wodurch die Automatisierung einfacher.

In unserem Fall softcoding war ein nützliches Muster, kein anti-Muster.

Es gibt einen Grund dafür ein Muster eher als ein Gesetz nennen.

Ich würde vermuten, dass fast jeder hat mindestens ein Beispiel für einen Ort im Code, wo genau das Falsche getan wurde, und es stellte sich auf lange Sicht besser aus als die „richtige“ Sache hätte.

Und eine viel längere Liste von Beispielen für anti-Muster verursachen Probleme.

Ich habe Magie Tasten mehrfach verwendet wird, aus Unwissenheit oder Faulheit, und manchmal es funktionierte tatsächlich aus ganz gut, und es stellte sich heraus, dass ich nicht die zusätzliche Abstraktion der richtigen MVC brauchen.

Duff Geräte verwendet die < a href = "http://en.wikipedia.org/wiki/Loop-switch_sequence" rel = "nofollow noreferrer"> Schleife-Umschaltsequenz (AKA For-Fall Paradigm ) anti-Muster.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top