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.
Ich habe eine Weile versucht zu lernen, Komponententests für meinen Code zu schreiben. Am Anfang habe ich mit echtem TDD angefangen, bei dem ich keinen Code geschrieben habe, bis ich zuerst einen fehlerhaften Test geschrieben hatte. Vor kurzem musste ich jedoch ein heikles Problem lösen, das viel Code beinhaltete. Nachdem …
Uns allen ist bewusst, dass magische Zahlen (fest codierte Werte) in Ihrem Programm Chaos anrichten können, insbesondere wenn es an der Zeit ist, einen Codeabschnitt ohne Kommentare zu ändern, aber wo ziehen Sie die Linie? Wenn Sie beispielsweise eine Funktion haben, die die Anzahl der Sekunden zwischen zwei Tagen berechnet, …
TD; DR: Es gab einige Verwirrung darüber, was ich fragte, also hier ist die treibende Idee hinter der Frage: Ich wollte immer die Frage sein, was es ist. Ich könnte es ursprünglich nicht gut artikuliert haben. Aber die Absicht war schon immer " modularer, getrennter, lose gekoppelter, entkoppelter, umgestalteter Code …
Ich bin mir sicher, dass es einen Begriff für das folgende Refactoring gibt, aber ich kann mich nicht daran erinnern, und mein Google-Fu hat mich verfehlt! Der Refaktor bewegt sich, wenn Anweisungen dahin gehen, wo sie den größten Einfluss haben, z. B. um dies zu ändern $test = someFunctionThatReturnsABool(); for($x …
Ich arbeite auf einer ziemlich großen Codebasis. Hunderte von Klassen, Tonnen von verschiedenen Dateien, viele Funktionen, es dauert mehr als 15 Minuten, um eine neue Kopie abzurufen usw. Ein großes Problem bei einer so großen Codebasis ist, dass es einige Dienstprogrammmethoden gibt, die dasselbe tun, oder Code, der diese Dienstprogrammmethoden …
Laut der akzeptierten Antwort zu " Argumentation, lokale Variablen gegenüber Instanzvariablen zu bevorzugen? " Sollten Variablen im kleinstmöglichen Bereich leben. Vereinfache das Problem in meiner Interpretation, es bedeutet, dass wir diese Art von Code überarbeiten sollten: public class Main { private A a; private B b; public ABResult getResult() { …
Zum Beispiel hatte ich einige Codes gesehen, die ein Fragment wie dieses erzeugen: Fragment myFragment=new MyFragment(); Dies deklariert eine Variable als Fragment anstelle von MyFragment. MyFragment ist eine untergeordnete Klasse von Fragment. Ich bin mit dieser Codezeile nicht zufrieden, da ich der Meinung bin, dass dieser Code wie folgt lauten …
Ich habe den größten Teil von Fowlers Refactoring-Buch gelesen und in meiner Vergangenheit viele große und kleine Anwendungen überarbeitet. Eines der schwierigeren Dinge, die ich zu lehren finde, ist "wann" umzugestalten. Ich tendiere dazu, dies auf der Grundlage eines Bauchgefühls zu tun, das mir in der Vergangenheit bemerkenswert gut gedient …
Dies ist ein etwas kontroverses Thema, und ich denke, es gibt ebenso viele Meinungen wie Programmierer. Aber um es besser zu machen, möchte ich wissen, wie es in der Wirtschaft (oder an Ihren Arbeitsplätzen) üblich ist. An meinem Arbeitsplatz haben wir strenge Kodierungsrichtlinien. Ein Abschnitt davon ist den magischen Zeichenfolgen …
Ich habe mich in letzter Zeit in einer schwierigen Situation befunden. Ich arbeite jetzt seit fast 8 Monaten an einem Spiel mit einem Programmierfreund. Wir haben beide im August letzten Jahres als Anfänger in der Programmierung angefangen. Er ist ein CS-Student im zweiten Jahr, ich bin ein IT-Supporttechniker und ein …
Dieser Artikel über technische Schulden hat einige gute Punkte, darunter: An den "technischen Dingen" zu arbeiten funktioniert am besten, wenn es von Geschichten getrieben wird. Die Codebasis muss wahrscheinlich überall bearbeitet werden, aber die Auszahlung erfolgt nur dort, wo der Code aus benutzerbezogenen Gründen bearbeitet werden soll. Wenn keine Geschichten …
In einer anderen Frage wurde herausgefunden, dass eines der Probleme mit TDD darin besteht, die Testsuite während und nach dem Refactoring mit der Codebasis synchron zu halten. Jetzt bin ich ein großer Fan von Refactoring. Ich werde es nicht aufgeben, um TDD zu machen. Aber ich habe auch die Probleme …
Ich werde einige Zeichenfolgen-Nutzdaten in der Datenbank speichern. Ich habe zwei globale Konfigurationen: Verschlüsselung Kompression Diese können über die Konfiguration so aktiviert oder deaktiviert werden, dass entweder nur einer von ihnen aktiviert ist, beide aktiviert sind oder beide deaktiviert sind. Meine aktuelle Implementierung ist folgende: if (encryptionEnable && !compressEnable) { …
Ich habe diesen Artikel gelesen und mich gefragt, ob wir alle switch-Anweisungen entfernen, indem wir sie durch ein Dictionary oder eine Factory ersetzen, sodass in meinen Projekten überhaupt keine switch-Anweisungen vorhanden sind. Etwas stimmte nicht ganz. Die Frage ist, ob switch-Anweisungen wirklich verwendet werden können, oder ob wir sie durch …
Laut Martin Fowler ist Code-Refactoring (Hervorhebung von mir): Refactoring ist eine disziplinierte Technik zur Umstrukturierung eines vorhandenen Codebestandes, bei der die interne Struktur geändert wird, ohne dass das externe Verhalten geändert wird . Sein Herz ist eine Reihe von kleinen Verhaltensweisen, die Transformationen bewahren. Jede Transformation (als "Refactoring" bezeichnet) hat …
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.