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.
Angesichts eines kleinen Projekts, das darauf abzielt, der Anwendung neue Funktionen hinzuzufügen, berühren die eingeführten Änderungen vorhandenen Code, wobei diese in bestimmten Bereichen aktualisiert werden. Während der Implementierung habe ich festgestellt, dass einige dieser Codes, die aktualisiert wurden, Kandidaten für das Refactoring haben. Ist dies ein angemessener Zeitpunkt für eine …
Im Rahmen eines Refactoring-Vorhabens oder einer laufenden Weiterentwicklung kann eine bestimmte Methode oder möglicherweise eine ganze Klasse in gewissem Sinne veraltet sein. Java unterstützt die @DeprecatedAnnotation, um anzuzeigen, dass es wahrscheinlich eine bessere Möglichkeit gibt, mit der fraglichen Funktionalität umzugehen. Ich stelle mir vor, dass dies besonders in öffentlichen APIs …
Mein Team erstellt viele einmalige Webformulare. Die meisten dieser Formulare senden nur eine E-Mail, und einige schreiben einfach eine Datenbank. Derzeit befindet sich jedes Formular in einer eigenen Lösung in Visual Studio Team Foundation Server. Das heißt, wir haben fast 100 verschiedene Formularprojekte, was es schwierig macht, die Konsistenz aufrechtzuerhalten. …
Ich habe eine Software, die ich vor ungefähr 2 Jahren geschrieben habe und die einige Funktionen benötigt. Ich habe festgestellt, dass es ein schreckliches Durcheinander ist, und ich habe das Bedürfnis, alles zu bewegen, aufzuräumen usw. Ich habe den Artikel über Joel on Software gelesen, in dem es darum geht, …
Welche praktischen Techniken werden verwendet, um zu überprüfen, ob eine Klasse gegen das Prinzip der Einzelverantwortung verstößt? Ich weiß, dass eine Klasse nur einen Grund haben sollte, sich zu ändern, aber diesem Satz fehlt ein praktischer Weg, dies wirklich umzusetzen. Der einzige Weg , ich fand , ist , den …
Betrachten wir zwei Klassen Dogund Catkonform sowohl zu AnimalProtokoll (in Bezug auf die Swift - Programmiersprache. Diese Schnittstelle in Java / C # würde). Wir haben einen Bildschirm mit einer gemischten Liste von Hunden und Katzen. Es gibt eine InteractorKlasse, die hinter den Kulissen mit Logik umgeht. Jetzt möchten wir …
Ich habe ein Projekt, das so groß ist, dass ich nicht mehr jeden Aspekt im Kopf behalten kann. Ich beschäftige mich mit einer Reihe von Klassen und Funktionen darin und gebe Daten weiter. Mit der Zeit bemerkte ich, dass ich immer wieder Fehler bekam, weil ich vergaß, welche genaue Form …
Wahrscheinlich habe ich wie viele andere Probleme mit Designproblemen, bei denen es beispielsweise ein Designmuster / einen Designansatz gibt, das intuitiv zu dem Problem zu passen scheint und die gewünschten Vorteile bietet. Sehr oft gibt es einige Einschränkungen, die es schwierig machen, das Muster / den Ansatz ohne irgendeine Art …
Ich bin der einzige Entwickler eines Projekts, das wie jedes Softwareprojekt in Zukunft von jemand anderem übernommen werden kann. Angenommen, ich habe das Muster X zum Implementieren von Feature A verwendet. Nach dem Entwickeln und Beenden des Features habe ich festgestellt, dass ich dasselbe Feature mithilfe von Muster Y implementieren …
Ich habe mir einige Antworten angesehen und bei Google gesucht, konnte aber nichts Hilfreiches finden (dh das hätte keine unangenehmen Nebenwirkungen). Mein abstraktes Problem ist, dass ich ein Objekt habe und eine lange Abfolge von Operationen daran ausführen muss. Ich betrachte es als eine Art Fließband, als würde man ein …
Ich habe kürzlich eine Methode überarbeitet, die sowohl ein Befehl als auch eine Abfragemethode war. Nachdem ich es in eine Ein-Befehl-Methode und eine Abfragemethode unterteilt hatte, stellte ich fest, dass es jetzt mehrere Stellen im Code gibt, an denen ich den Befehl aufrufe und dann den Wert aus der Abfrage …
Ich überarbeite derzeit einen Teil einer großen Codebasis ohne Unit-Tests. Ich habe versucht, Code auf brutale Weise umzugestalten, dh indem ich versucht habe zu erraten, was der Code tut und welche Änderungen seine Bedeutung nicht ändern würden, aber ohne Erfolg: Es werden zufällig Funktionen rund um die Codebasis unterbrochen. Beachten …
Ich habe Martin Fowlers Refactoring gelesen . Es ist im Allgemeinen ausgezeichnet, aber eine von Fowlers Empfehlungen scheint ein wenig Ärger zu verursachen. Fowler empfiehlt, temporäre Variablen durch eine Abfrage zu ersetzen. Stattdessen: double getPrice() { final int basePrice = _quantity * _itemPrice; final double discountFactor; if (basePrice > 1000) …
Wenn ich eine Funktion in meinem Code habe, die wie folgt aussieht: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Normalerweise würde ich dies umgestalten, um Ploymorphism unter Verwendung einer Fabrikklasse und eines Strategiemusters zu …
Ich denke ständig über die Wiederverwendung von Code nach, wenn ich ein neues Projekt starte. Inwieweit sollte ich meinen Code wiederverwendbar machen? Sollte ich es auf den Anwendungsbereich beschränken oder sollte ich es außerhalb des Projekts wiederverwendbar machen? Manchmal habe ich das Gefühl, dass die Wiederverwendbarkeit von Code einem einfachen …
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.