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.



12
Hat sich die schrittweise Änderung der Codeschreibmethodik auf die Systemleistung ausgewirkt? Und sollte es mich interessieren?
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 …

4
Was ist der Begriff für diese Art von Refactoring
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 …

7
Wie verhindere ich das unbekannte Duplizieren von Code?
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 …

8
Umfasst „Variablen sollten so klein wie möglich sein“ den Fall „Variablen sollten möglichst nicht existieren“?
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() { …

10
Ist "Parent x = new Child ();" anstelle von "Child x = new Child ();" eine schlechte Praxis, wenn wir die letztere verwenden können?
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 …

9
Wann umgestalten?
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 …


11
Welche Faktoren sollten beeinflussen, wie ich feststelle, wann ich ein kleines Projekt mit einem Freund aufgeben soll? [geschlossen]
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 …

6
Welche Erfolge haben Sie mit der Begleichung von technischen Schulden erzielt?
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 …


6
Gibt es ein Entwurfsmuster, mit dem Sie nicht mehr nach Flags suchen müssen?
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) { …


13
Wie weit kann ich das Refactoring treiben, ohne das externe Verhalten zu ändern?
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 …

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.