[RUBY] Wann umgestalten?

Normalerweise schreibe ich Rails, aber ich habe mich gefragt, ob Refactoring durchgeführt werden soll.

Ich habe beim Lesen von "Refactoring: Ruby Edition" viel bemerkt, daher hier eine Zusammenfassung.

Was ist Refactoring?

Es ist trivial, aber ich werde es vergessen, also werde ich es aufschreiben.

Organisieren Sie die interne Struktur des Quellcodes, ohne das Verhalten von außerhalb des Programms zu ändern.

[Wiki: Refactoring 2020/11/15](https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3% 82% BF% E3% 83% AA% E3% 83% B3% E3% 82% B0_ (% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83 % 9F% E3% 83% B3% E3% 82% B0))

Wann umgestalten?

Es wird oft gesagt, dass Refactoring immer während der Entwicklung durchgeführt wird, aber wann werden Sie es konkret tun? Ich habe es nicht wirklich verstanden.

Betrachten Sie zunächst das Ändern des vorhandenen Codes und das Hinzufügen von Funktionen als Beispiel.

Bei der Implementierung des oben Gesagten dachte ich, ich würde mit dem Gefühl von "Implementierung → Testcode → Refactoring" umgestalten.

Wenn Sie tatsächlich Funktionen hinzufügen, verstehen Sie zunächst den vorhandenen Code.

Refactoring umfasst auch das leichtere Lesen des Codes. Daher ist Refactoring möglicherweise die richtige Wahl, wenn Sie den vorhandenen Code zum ersten Mal verstehen.

Daher denke ich, dass es besser ist, im Ablauf von "Vorhandenen Code verstehen → Refactoring → Implementierung → Testcode → Refactoring" zu implementieren.

Auf diese Weise erleichtert das erste Refactoring das Verständnis des Codes, und an diesem Punkt hilft eine Pull-Anforderung anderen Entwicklern, ihn zu verstehen.

Wenn Sie Testcode haben, wird das erste Refactoring funktionieren, und wenn Sie keine Tests haben, sollten Sie ihn zu diesem Zeitpunkt schreiben, einschließlich des Verständnisses des Codes.

Zusammenfassung

Beim Refactoring scheint es gut, dies zum folgenden Zeitpunkt zu tun.

Vorhandenen Code verstehen → Refactoring → Implementierung → Testcode → Refactoring

Recommended Posts

Wann umgestalten?
Wenn Sie sich im Klassennamen verlieren
Wenn Sie die Methode außerhalb verwenden möchten
Was verwenden Sie beim Konvertieren in String?
Was tun, wenn das SSL-Zertifikat abgelaufen ist?
Kennst du Decorator?
[Rails Tutorial Kapitel 2] Was tun, wenn Sie einen Fehlern im Spaltennamen machen?
Was tun, wenn der Befehl Rails unbrauchbar wird?
Was tun, wenn Sie die Quellposition wissen möchten, an der die Methode in bind.pry definiert ist?
Fassen Sie die Wörter zusammen, die Sie gelernt haben
Beim Lesen des Quellcodes
Wenn Sie shutdownNow nicht aufrufen, wenn die Übertragung mit dem Java SDK von AWS S3 abgeschlossen ist, bleibt der Thread weiterhin bestehen.
In Java 10, wenn Gradle Eclipse abgeschlossen ist und JavaSE-1.10 herauskommt, ...
Was tun, wenn die Änderungen im Servlet nicht berücksichtigt werden?
Wenn die Verarbeitung nach der bedingten Verzweigung redundant ist-12 [C # Refactoring Sample]
Warum Sie die Überschreibungsanmerkung hinzufügen sollten, wenn Sie eine Methode überschreiben
Was tun bei Problem während der Inhaltsunterstützung?
Was tun, wenn Sie mit Docker-Compose auf das Problem node_modules stoßen?
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
Das erste, was Sie tun müssen, wenn Sie mit Heroku auf GitHub mit Eclipse auf Java zufrieden sein möchten
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?