Als «refactoring» getaggte Fragen

Refactoring ist eine disziplinierte Technik zur Umstrukturierung eines vorhandenen Code-Körpers, bei der die interne Struktur geändert wird, ohne das externe Verhalten zu ändern.


7
Wenn ein fließender Programmierer gute Praktiken missachtet, wirkt sich seine Fließfähigkeit dann nicht gegen ihn aus? [geschlossen]
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 4 Jahren . Ich arbeite an einer ziemlich großen und fehlerhaften Anwendung …

5
Warum schreiben Sie Tests für Code, den ich überarbeiten werde?
Ich überarbeite eine riesige Legacy-Code-Klasse. Refactoring (ich nehme an) befürwortet dies: Schreibe Tests für die Legacy-Klasse Refactor zum Teufel aus der Klasse Problem: Sobald ich die Klasse überarbeitet habe, müssen meine Tests in Schritt 1 geändert werden. Was früher in einer Legacy-Methode enthalten war, kann jetzt stattdessen eine separate Klasse …

7
Soll ich große Funktionen umgestalten, die zumeist aus einer Regex bestehen? [geschlossen]
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 5 Jahren . Ich habe gerade eine Funktion geschrieben, die ungefähr 100 …

2
Ich hätte eine Factory-Methode anstelle eines Konstruktors verwenden sollen. Kann ich das ändern und trotzdem abwärtskompatibel sein?
Das Problem Nehmen wir an, ich habe eine Klasse namens, DataSourcedie eine ReadDataMethode (und vielleicht auch andere, aber lassen Sie uns die Dinge einfach halten) zum Lesen von Daten aus einer .mdbDatei bereitstellt : var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Ein paar Jahre später entscheide ich mich, …

6
Wie kann die Priorität und der Schweregrad einer "Code-Verbesserung" ermittelt werden?
Wir haben "Prioritäts" - und "Schwere" -Felder in unserem Fehlerverfolgungssystem. Wir definieren den Schweregrad als "Auswirkungen auf den Benutzer" und die Priorität als "Auswirkungen auf das Produkt". Meine Frage bezieht sich darauf, wie eine Aufgabe zur Codeverbesserung nach Schweregrad und Priorität kategorisiert werden kann. Angenommen, die Verbesserung ändert kein Verhalten, …


10
Wie kann ich das Kopier- / Einfügemuster korrigieren?
Wo ich arbeite, fühlen sich Leute (Berater) gedrängt, Features so schnell wie möglich freizugeben. Anstatt also zu viel Zeit damit zu verbringen, darüber nachzudenken, wie man Dinge richtig macht oder weil sie nichts kaputt machen wollen, wird Code aus verschiedenen Modulen kopiert und modifiziert. Dies zu verhindern ist nicht einfach, …


3
Eine Vielzahl von Implementierungen. DI hoffnungslos? Service Locator verwenden?
Angenommen, wir haben 1001 Clients, die ihre Abhängigkeiten direkt aufbauen, anstatt Injektionen zu akzeptieren. Das Refactoring des 1001 ist laut unserem Chef keine Option. Wir haben nicht einmal Zugriff auf ihre Quelle, nur auf die Klassendateien. Wir sollen das System, das diese 1001 Clients durchlaufen, "modernisieren". Wir können alles umgestalten, …


10
Was kann die Ursache für neue Fehler sein, die an anderer Stelle auftreten, wenn ein bekannter Fehler behoben wird?
Während einer Diskussion erzählte mir einer meiner Kollegen, dass er einige Probleme mit seinem aktuellen Projekt hat, während er versucht, Fehler zu beheben. "Wenn ich einen Fehler behebe, funktioniert etwas anderes nicht mehr an anderer Stelle", sagte er. Ich begann darüber nachzudenken, wie das passieren könnte, kann es aber nicht …

3
Wie navigieren Sie in einem Code, der in einer dynamischen Sprache geschrieben ist, und wie können Sie ihn umgestalten?
Ich finde es toll, dass das Schreiben von Python, Ruby oder Javascript so wenig Boilerplate erfordert. Ich liebe einfache funktionale Konstrukte. Ich liebe die klare und einfache Syntax. Bei der Entwicklung einer großen Software in einer dynamischen Sprache kann ich jedoch drei Dinge wirklich schlecht: Im Code navigieren Identifizieren der …

4
Codeduplizierung ohne offensichtliche Abstraktion
Haben Sie jemals einen Fall von Code-Duplizierung erlebt, bei dem Sie beim Betrachten der Codezeilen keine thematische Abstraktion finden konnten, die die Rolle des Codes in der Logik genau beschreibt? Und was hast du getan, um das anzugehen? Es handelt sich um eine Code-Duplizierung, daher müssen wir im Idealfall eine …


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.