Frage

Welche Prinzipien, Code -Qualitäten, Praktiken, Aproaches, Sprach- oder Framework -Funktionen helfen Ihnen dabei, effektiv Funktionen, Klassen usw. in größerer Reihe von Fällen wiederzuverwenden. Alle Situationen sind interessant: Entweder können Sie sowohl die Implementierung als auch die Schnittstelle des Codes ändern, um die Wiederverwendung oder nur die Implementierung oder gar nichts zu aktivieren/zu verbessern. Die wichtigsten Indikatoren für die Wirksamkeit der Wiederverwendung sind (wie für mich):

  • Wie viel es reduziert die Anstrengung zur Implementierung und Wartung
  • Die Qualität der Anwendung verschlechtert sich nicht
  • Wie viel Komplexität wird reduziert

(Alle im Vergleich zu Neuauflagen von unterer Ebene).

Ps. Wenn möglich, geben Sie bitte einen Faktor pro Antwort mit Beschreibung an, wie er in Ihrem Fall hilft.

War es hilfreich?

Lösung

Testgetriebene Entwicklung. Damit der Code leicht getestet wird, sollte er:

1) Mach nur eins

2) so wenige Abhängigkeiten wie möglich haben

3) Halten Sie diese Abhängigkeiten oft ein (damit sie verspottet werden können)

Durch einen erstaunlichen Zufall sorgen diese Faktoren auch für wiederverwendbaren Code. Eigentlich ist es kein Zufall - der beste Weg, um wiederverwendbares Code zu haben, um sicherzustellen, dass es von mindestens zwei Anrufern so früh wie möglich verwendet wird. Der mit TDD erstellte Code beginnt das Leben mit zwei Eltern - dem im Bau befindlichen Code und den Unit -Tests, sodass er von Anfang an wiederverwendet wird.

TDD hat abgesehen von der Wiederverwendung viele andere Vorteile. Sie erhalten automatisierte Tests für alle Ihren Code, es fungiert als Beispieldokumentation für die Verwendung des Codes und ist das Refactoring sicherer. Das Schreiben von Code mit TDD kann länger dauern als das Schreiben von Code ohne Tests.

Andere Tipps

Es ist ein Klassiker - niedrig Kupplung und hoher Zusammenhalt. Wenn ein Modul oder eine Funktion eine bestimmte Aufgabe ausführt und nur wenige oder keine Abhängigkeiten hat, ist es viel wiederverwendbarer (da sie in eine größere Vielzahl von Situationen passt), als wenn es mehrere Aufgaben ausführt, erfordert viele Nebenwirkungen, andere Module erfordert andere Module , etc.

Der Hauptfaktor ist a Mensch und seine Fähigkeiten, Erfahrung, Gehirn.
Alle Best Practices sind wertlos, wenn eine Person nicht weiß, wie sie sie anwendet.

Um genauer zu sein und den Kommentar anzusprechen, würde ich die folgenden Fähigkeiten/persönlichen Einstellungen auflisten, die zu einer Wiederverwendbarkeit von Code beitragen:

  • Disziplin (Kopieren Sie die Paste einfach, eine gute Wiederverwendbarkeit erfordert Disziplin)
  • Hingabe (Sie müssen Code wiederverwendbar machen und stolz darauf sein)
  • Vision des Projekts (Sie müssen das Gesamtbild des Projekts sehen, nicht nur Code -Anweisungen)
  • Gefühl des Code (Sie müssen in der Lage sein zu fangen können Code riecht, sehen Sie Praktiken und Muster, die helfen können)
  • Nur aktivieren Testgetriebene Entwicklung Der Geist kann neben der Wiederverwendbarkeit die Codequalität versichern.

Es ist ähnlich wie ein guter Mathematiker, Wissenschaftler oder Künstler zu werden. Es gibt viele Praktiken, die jeder lesen und lernen kann. Aber nur diejenigen, die die Praktiken anwenden können, können ihr Handwerk beherrschen.

Der Hauptpunkt ist, dass es bei der Frage der Wiederverwendbarkeit mehr geht Persönlichkeit und nicht technische.

Funktionen sollten im Wesentlichen keine Nebenwirkungen haben. Verwenden Sie keine globalen Variablen - Übergeben

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top