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 daran erinnern, dass "Oh, richtig, es sollte falsch geschrieben sein ...")
Ich ändere ein paar Änderungen an der ursprünglichen Methode. Sollte ich die Gelegenheit nutzen, einfach die Freaking-Methode umzubenennen?
refactoring
Eins zwei drei
quelle
quelle
Antworten:
Absolut.
Wenn Ihr Code jedoch als API freigegeben wurde, sollten Sie die falsch geschriebene Methode im Allgemeinen auch belassen und an die korrekt benannte Methode weiterleiten (markieren Sie sie als veraltet, wenn Ihre Sprache solche Dinge unterstützt).
quelle
Es gibt Fälle, in denen Sie solche Refactorings vermeiden sollten:
Wenn die Methode in einer öffentlichen Schnittstelle verwendet wird. Ein kanonisches Beispiel ist die falsche Schreibweise von Referrern in HTTP- Referrern , wobei die falsche Schreibweise beibehalten wird, da eine Änderung der Schreibweise jetzt zu viele Auswirkungen hätte.
Wenn die Codebasis nicht durch Tests abgedeckt ist. Jegliches Refactoring sollte mit getestetem Code durchgeführt werden, um Regressionstests durchführen zu können. Das Refactoring der Codebasis, die nicht getestet wird, ist besonders riskant. Wenn Sie viel Zeit haben, fügen Sie zunächst Tests hinzu. Wenn Sie unter Zeitdruck arbeiten, ist es nicht das Beste, das Risiko einzugehen, dass subtile Fehler auftreten, wenn Sie pünktlich versenden möchten.
Wenn die Methode auf ungewöhnliche Weise verwendet werden könnte , ist es praktisch unmöglich, ihre Verwendung zu finden (durch Strg + F oder durch ein automatisiertes Refactoring-Tool). In C # kann beispielsweise eine Methode über Reflection aufgerufen werden, wodurch das Dialogfeld "Umbenennen" von Visual Studio ineffektiv wird. In JavaScript ist die Funktion inside ebenfalls
eval()
schwer zu finden. In PHP können variable Variablen Probleme verursachen.Wenn die Größe des Projekts sehr groß ist und die Methode von anderen Teams verwendet werden könnte. Dies ähnelt dem ersten Punkt, dh die Schnittstelle, die Sie anderen Teams zur Verfügung stellen, kann als öffentliche Schnittstelle betrachtet werden.
Wenn Sie sich mit einem lebenswichtigen Projekt beschäftigen. Es besteht die Möglichkeit, dass die Rechtschreibfehler nicht zu wichtig sind, um ein paar Monate Papierkram zu rechtfertigen, um den Namen der Methode zu ändern und sicherzustellen, dass kein Patient die zehnfache zulässige Bestrahlung erhält, oder dass ein Shuttle die Geschwindigkeit falsch berechnet.
In allen anderen Situationen können Sie die Methode umbenennen.
quelle
Ich habe das vor ein paar Monaten gemacht (aus verschiedenen Gründen). Die Schritte, die ich unternahm (die Sprache war Perl):
Entfernen Sie nach einiger Zeit die Methode mit dem alten Namen.
Natürlich wird Ihr Kilometerstand variieren.
quelle
Eine gute Möglichkeit, vorhandenen Code nicht zu beschädigen, ist die Verkettung des neuen Methodennamens mit dem alten in einem solchen wie
und markieren Sie dann die alte Methode als veraltet (wenn Ihre Sprache dies unterstützt). Auf diese Weise funktioniert der vorhandene Code weiterhin und Sie können nach und nach alle alten Rechtschreibfehler aus Ihrer Codebasis entfernen. Eventuell können Sie sogar den Methodentext in die neue Methode kopieren / einfügen und die alte löschen.
/ Bearbeiten Wie ivo im Kommentar sagte: Noch besser wäre es, den Code von
TheOldMethodName
in die zu verschiebenMyNewMethodName
und die neue Methode von der alten aufzurufen. Dies hätte auch den Vorteil, den Entwicklern zu helfen, sich zu orientieren, wo der Code hingehört.quelle
Methode umbenennen:
Das sind zwei Optionen, für die Sie sich entscheiden könnten. Ich bevorzuge die automatische Vervollständigung (z. B. Eclipse IDE) und muss den Methodennamen nicht ausgeben. Umbenennung anstreben; Stellen Sie nur sicher, dass Sie herausfinden, wie diese Methode aufgerufen wird, und ändern Sie die direkten Verweise an den einzelnen Stellen. Refactoring wird Ihr Freund dafür sein, aber seien Sie vorsichtig, wenn Sie dies tun.
quelle
Ich würde generell ja empfehlen, es umzubenennen.
In anderen Antworten sind gute Gründe aufgeführt, warum Sie die Methode möglicherweise nicht umbenennen möchten. Wenn Sie sich in einer solchen Situation befinden, können Sie eine neue Methode mit dem richtigen Namen und der richtigen Implementierung erstellen und die alte Methode ändern, um die neue Methode aufzurufen . Markieren Sie dann die alte als veraltet, wenn Ihre Sprache dies unterstützt.
quelle