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.
Hintergrund Ich arbeite an einem laufenden C # -Projekt. Ich bin kein C # -Programmierer, hauptsächlich ein C ++ - Programmierer. Mir wurden also grundsätzlich einfache und umgestaltende Aufgaben übertragen. Der Code ist ein Durcheinander. Es ist ein riesiges Projekt. Da unser Kunde häufige Releases mit neuen Funktionen und Fehlerkorrekturen …
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 …
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 …
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 …
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, …
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, …
Geschlossen. Diese Frage ist nicht zum Thema . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so dass es beim Thema für Software Engineering Stapel Börse. Geschlossen vor 4 Jahren . Der Kontext: Es ist ein internes Projekt (von dem ich glaube, dass es …
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, …
Problem: Während Sie an einer neuen Funktion arbeiten oder einen Fehler beheben, finden Sie ein altes Problem im Code. Was sollte man tun? Beheben Sie das Problem und riskieren Sie, das Verhalten des Codes zu ändern. Entweder hat es bis jetzt durch einen Zufall funktioniert, oder der Defekt wurde nicht …
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, …
Boilerplate-Code ist für mich offensichtlich schlecht. Ich habe jedoch einen Entwickler getroffen, der Widerstand zeigt, wenn er versucht, die Heizplatte zu verkleinern. Mir wurde klar, dass ich kein leicht zu formulierendes, gut durchdachtes Argument hatte, das über die Abscheulichkeit hinausging, die ich im Laufe der Zeit dafür entwickelt hatte. Was …
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 …
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 …
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 …
Für diejenigen von Ihnen, die das Glück haben, nicht in einer Sprache mit dynamischem Umfang zu arbeiten, möchte ich Ihnen eine kleine Auffrischung darüber geben, wie das funktioniert. Stellen Sie sich eine Pseudosprache namens "RUBELLA" vor, die sich wie folgt verhält: function foo() { print(x); // not defined locally => …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.