Als «anti-patterns» getaggte Fragen

Ein Anti-Muster ist ein Verhalten oder eine Praxis, die üblich ist, obwohl sie unwirksam oder kontraproduktiv ist.

6
Gute oder schlechte Praxis, Java-Sammlungen mit aussagekräftigen Klassennamen zu maskieren?
In letzter Zeit habe ich es mir zur Gewohnheit gemacht, Java-Sammlungen mit menschlichen Klassennamen zu "maskieren". Einige einfache Beispiele: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } Oder: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, …

8
Codewartung: Behalten Sie ein schlechtes Muster bei, wenn Sie neuen Code erweitern, um konsistent zu sein, oder nicht?
Ich muss ein bestehendes Modul eines Projekts erweitern. Ich mag es nicht, wie es gemacht wurde (viele Anti-Patterns, wie zum Beispiel kopierter / eingefügter Code). Ich möchte aus vielen Gründen keinen kompletten Refactor durchführen. Sollte ich: Neue Methoden unter Verwendung bestehender Konventionen erstellen, auch wenn ich das für falsch halte, …

11
Sind Fehlervariablen ein Anti-Pattern oder ein gutes Design?
Um mehrere mögliche Fehler zu behandeln, die die Ausführung nicht anhalten sollten, habe ich eine errorVariable, die Clients überprüfen und zum Auslösen von Ausnahmen verwenden können. Ist das ein Anti-Pattern? Gibt es eine bessere Möglichkeit, damit umzugehen? Ein Beispiel dafür finden Sie in der mysqli- API von PHP . Angenommen, …




11
Nur-Konstruktor-Unterklassen: Ist dies ein Anti-Pattern?
Ich hatte eine Diskussion mit einem Kollegen, und es kam zu widersprüchlichen Vorstellungen über den Zweck der Unterklassenbildung. Meine Intuition ist, dass wenn eine primäre Funktion einer Unterklasse darin besteht, einen begrenzten Bereich möglicher Werte ihrer Eltern auszudrücken, es wahrscheinlich keine Unterklasse sein sollte. Er argumentierte für die gegenteilige Intuition: …


3
Ist es ein Antipattern, ein Stream-Element mit peek () zu ändern?
Angenommen, ich habe einen Datenstrom von Dingen und möchte diese in der Mitte des Datenstroms "anreichern". peek()Dazu kann ich Folgendes verwenden : streamOfThings.peek(this::thingMutator).forEach(this::someConsumer); Nehmen Sie an, dass das Mutieren der Dinge an dieser Stelle im Code korrekt ist - zum Beispiel das thingMutator Methode das Feld "lastProcessed" möglicherweise auf die …

10
Welche Benennungsmuster gibt es? [geschlossen]
Es gibt einige Namen, bei denen Sie wissen, dass Sie bereits etwas durcheinander gebracht haben, wenn Sie nach diesen Namen greifen. Beispielsweise: XxxManager Das ist schlecht, weil eine Klasse beschreiben sollte, was die Klasse tut. Wenn das spezifischste Wort, das Sie für das, was die Klasse tut, finden können, "verwalten" …

6
Code, der einen Wert in eine andere Darstellung konvertiert und ihn dann wieder an den Ausgangspunkt zurückkonvertiert, ist schlecht, aber wie? [geschlossen]
Ich las einen Artikel über schlechte Programmierpraktiken . Es wurde erwähnt - "Yo-Yo-Code", der einen Wert in eine andere Darstellung konvertiert und ihn dann wieder an die ursprüngliche Position zurücksetzt (z. B .: Konvertieren einer Dezimalzahl in eine Zeichenfolge und dann zurück in eine Dezimalzahl oder Auffüllen einer Zeichenfolge und …


7
Führt mein Unternehmen Filialen falsch zusammen?
Kürzlich bin ich auf einen MSDN-Artikel über das Verzweigen und Zusammenführen und SCM gestoßen : Branching and Merging Primer - Chris Birmele . In dem Artikel heißt es, 'Big Bang Merge' ist ein zusammenlaufendes Gegenmuster: Big Bang Merge - Verzögert das Zusammenführen von Zweigen bis zum Ende des Entwicklungsaufwands und …


2
Gibt es ein Anti-Pattern für historisch gewachsene Software? [geschlossen]
Gibt es ein Anti-Pattern, das ein historisch gewachsenes Softwaresystem beschreibt, bei dem mehrere Entwickler dem System gerade neue Funktionen hinzugefügt haben, aber niemand wirklich ein Auge auf die Gesamtarchitektur hat und auch keine Umgestaltungen vorgenommen wurden? Ich denke, dies passiert, wenn das Management / der Kunde ständig nach neuen Funktionen …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.