Ich denke ständig über die Wiederverwendung von Code nach, wenn ich ein neues Projekt starte.
Inwieweit sollte ich meinen Code wiederverwendbar machen?
Sollte ich es auf den Anwendungsbereich beschränken oder sollte ich es außerhalb des Projekts wiederverwendbar machen?
Manchmal habe ich das Gefühl, dass die Wiederverwendbarkeit von Code einem einfachen Design im Wege steht. Bitte teilen Sie Ihr eigenes Verständnis und Ihren Ansatz der Wiederverwendbarkeit von Code mit.
refactoring
code-reuse
Lamin Sanneh
quelle
quelle
Antworten:
Der Code muss funktionieren, bevor er wiederverwendet werden kann. Dies impliziert, dass Design und (primäre) Funktion vor der Prüfung der Wiederverwendung von Code erfolgen sollten.
Es ist gut, an die Wiederverwendung und die Wiederverwendung von Komponenten zu denken, die Sie bereits geschrieben haben. Aber es kann manchmal genauso schnell sein, wenn nicht sogar schneller, den Code zu schreiben und zum Laufen zu bringen. Nachdem Sie das ursprüngliche Problem gelöst haben, können Sie den Code umgestalten, um ihn wiederverwendbarer zu machen.
quelle
Erinnere dich an KISS und YAGNI:
Code,
re-usability better to be considered
sobald Sie Ihr Designdokument fertig haben . Auf diese Weise können Sie den Abschnitt / die Teile des Codes anzeigen, die möglicherweise dupliziert werden.Wenn Sie also kein klares Design haben, wenden Sie den KISS- und YAGNI- Ansatz in Ihrer Arbeit an!
quelle
Dies ist aus meiner Erfahrung, aber ich glaube immer noch, dass es angewendet werden kann und in Anlehnung an das, was GlenH7 erwähnt hat.
Ich arbeite zwischen 3 Unternehmen, die verschiedene Projekte durchführen. Die Unternehmen sind Schwestern voneinander mit einigen Standardpraktiken und Arbeitsmethoden, sind aber auch in vielerlei Hinsicht einzigartig. Nachdem dies gesagt wurde, beginne ich jedes Projekt im Allgemeinen neu und möchte es einfach erledigen oder Fortschritte zeigen. Wenn ich dann auf ein Szenario stoße, in dem ich mich an einen Code oder eine Funktionalität erinnere, die ich für ein vorheriges Projekt geschrieben habe, mache ich eines von zwei Dingen (zeitabhängig):
Kopieren Sie den vorherigen Code aus dem anderen Projekt (haben Sie nicht viel Zeit) in mein aktuelles Projekt.
Zweitschnellste Methode
Kopieren Sie den vorherigen Code und platzieren Sie ihn in einer gemeinsamen Bibliothek. Fügen Sie diese Bibliothek dann in das aktuelle Projekt ein (um das Vorankommen zu erleichtern).
2b. Wenn ich Änderungen am anderen (ursprünglichen) Projekt vornehme, überarbeite ich es, um die neue Bibliothek zu verwenden [dies wird jedoch im Allgemeinen nicht der Fall sein, es sei denn, ich muss das Projekt erneut berühren].
Seien Sie gewarnt und testen Sie die allgemeinen Bibliotheken. Gemeinsame Bibliotheken bedeuten das Erstellen von Abhängigkeiten. Abhängigkeiten führen zu Fehlerquellen. Obwohl Sie für Ihre aktuelle Implementierung möglicherweise eine geringfügige Änderung benötigen, wissen Sie nicht, wie sich durch die Verwendung dieser Bibliothek etwas anderes ändert.
quelle
Manchmal finde ich, dass das Kopieren und Einfügen einiger Codezeilen eine bessere Lösung ist. Selbst in der menschlichen Sprache, wenn Sie einen Satz sagen möchten, den Sie zuvor nur mit einer geringfügigen Abweichung gesagt haben, wiederholen Sie ihn mit der Abweichung, da dies für niemanden weniger Probleme bereitet.
Wenn Ihr großes Modul jedoch auf eine etwas andere Weise verwendet werden muss, die es nicht unterstützt, klonen Sie es nicht, um nur wenige Zeilen zu ändern, da es sehr wahrscheinlich ist, dass Sie die Funktionalität sowohl der Basis als auch der Basis erweitern möchten Klonanteil in der Zukunft. Machen Sie es stattdessen einfach konfigurierbar oder exportieren Sie die Funktionen, die sowohl die Basis als auch der Klon gemeinsam nutzen, in ein anderes Modul, das beide verwenden werden.
quelle
Übertreibe es nicht. Und wenn Sie sich nicht sicher sind, bleiben Sie beim Anwendungsbereich, bis Sie genügend Projekte geschrieben haben, um zu sehen, wo Sie was wiederverwenden können.
quelle