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 ein Buch namens Clean Code von Robert C. Martin gelesen . In diesem Buch habe ich viele Methoden zum Aufräumen von Code gesehen, wie das Schreiben kleiner Funktionen, das sorgfältige Auswählen von Namen usw. Es scheint das mit Abstand interessanteste Buch über sauberen Code zu sein, das ich …
Ich bin ein Gymnasiast, der mit einem Freund von mir an einem C # -Projekt mit ungefähr dem gleichen Können wie ich arbeitet. Bisher haben wir ungefähr 3.000 Codezeilen und 250 Testcodezeilen in einem Bereich von 100 Commits geschrieben. Aufgrund der Schule habe ich das Projekt für ein paar Monate …
Ich habe die Geschichte mehrerer C # - und Java-Klassenbibliotheksprojekte auf GitHub und CodePlex gesehen und sehe einen Trend zum Umstieg auf Factory-Klassen im Gegensatz zur direkten Objektinstanziierung. Warum sollte ich viele Factory-Klassen verwenden? Ich habe eine ziemlich gute Bibliothek, in der Objekte auf altmodische Weise erstellt werden - durch …
Ich habe es mit einer ziemlich großen Codebasis zu tun und bekam ein paar Monate Zeit, um vorhandenen Code zu überarbeiten. Der Refactor-Prozess ist erforderlich, da wir in Kürze viele neue Funktionen zu unserem Produkt hinzufügen müssen und derzeit keine Funktion mehr hinzufügen können, ohne etwas anderes zu beschädigen. Kurz …
Ich habe das Buch "Effektiv mit Legacy-Code arbeiten" einige Male empfohlen. Was sind die wichtigsten Punkte dieses Buches? Gibt es viel mehr, um mit altem Code umzugehen, als Unit- / Integrationstests hinzuzufügen und dann umzugestalten?
Ich arbeite an einer mittelgroßen Codebasis (100.000 Zeilen), die allesamt relativ neuen Code enthält (weniger als ein Jahr alt) und eine gute Abdeckung durch Komponententests aufweist. Ich stoße immer wieder auf Methoden, die entweder nirgendwo mehr verwendet werden oder auf die nur in Komponententests verwiesen wird, in denen nur diese …
Die Codebasis, an der ich arbeite, verwendet häufig Instanzvariablen, um Daten zwischen verschiedenen einfachen Methoden auszutauschen. Der ursprüngliche Entwickler ist der festen Überzeugung, dass dies den Best Practices entspricht, die im Clean Code- Buch von Onkel Bob / Robert Martin aufgeführt sind: "Die erste Regel für Funktionen lautet, dass sie …
Soweit ich das verstehe, scheinen sich die meisten Leute einig zu sein, dass private Methoden nicht direkt getestet werden sollten, sondern mit welchen öffentlichen Methoden auch immer. Ich kann ihren Punkt sehen, aber ich habe einige Probleme damit, wenn ich versuche, den "Drei Gesetzen von TDD" zu folgen und den …
Manchmal stoßen Sie auf eine Situation, in der Sie vorhandenen Code erweitern / verbessern müssen. Sie sehen, dass der alte Code sehr schlank ist, aber auch schwer zu erweitern ist und Zeit zum Lesen braucht. Ist es eine gute Idee, es durch modernen Code zu ersetzen? Vor einiger Zeit mochte …
Ich habe eine Debatte mit einem Programmiererkollegen darüber, ob es eine gute oder eine schlechte Praxis ist, ein funktionierendes Codestück nur so zu ändern, dass es testbar ist (z. B. durch Unit-Tests). Meiner Meinung nach ist es in Ordnung, im Rahmen der Einhaltung guter objektorientierter und Software-Engineering-Praktiken (nicht "alles öffentlich …
Was ist Ihrer Erfahrung nach eine nützliche Faustregel für die Anzahl der Codezeilen, die für eine Klasse in Java zu groß sind? Um es klar auszudrücken, ich weiß, dass die Anzahl der Zeilen nicht einmal annähernd dem tatsächlichen Standard entspricht, der für das verwendet werden soll, was in einer bestimmten …
Eine der Methoden, die ich üblicherweise in unserer Codebasis verwende, ist falsch geschrieben (und sie hat mich älter gemacht). Das irritiert mich wirklich, nicht nur, weil es falsch geschrieben ist, sondern, was noch wichtiger ist, dass ich beim ersten Tippen IMMER den Namen falsch schreibe (und dann muss ich mich …
Normalerweise versuche ich, den Ratschlägen des Buches Working Effectively with Legacy Cod e zu folgen . Ich unterbreche Abhängigkeiten, verschiebe Teile des Codes in @VisibleForTesting public staticMethoden und in neue Klassen, um den Code (oder zumindest einen Teil davon) testbar zu machen. Und ich schreibe Tests, um sicherzustellen, dass ich …
Einer meiner Teamkollegen ist ein Alleskönner in unserem IT-Shop und ich respektiere seine Einsicht. Manchmal überprüft er jedoch meinen Code (er ist der zweithäufigste Befehlshaber unseres Teamleiters, das ist zu erwarten), ohne einen Hinweis zu haben. Manchmal überprüft er meine Änderungen, bevor sie das Endziel erreichen, und nimmt sofort Änderungen …
Ich habe kürzlich ein Black-Box-Refactoring abgeschlossen. Ich kann es nicht einchecken, da ich nicht weiß, wie ich es testen soll. Auf einer hohen Ebene habe ich eine Klasse, deren Initialisierung das Abrufen von Werten aus einer Klasse B umfasst. Wenn Klasse B "leer" ist, werden einige sinnvolle Standardwerte generiert. Ich …
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.