Vorhandene Library für eigene Zwecke erweitern: Wo??

Gast #4647935
Lesenswert?
• ▲
▼
Guten Tag,
ich verwende eine Library (LiquidCrystal vom Arduino, diese Stellt 
LCD-Funktionen bereit). Diese möchte ich um zwei Funktionen erweitern.

Ich frage mich gerade, ob ich das sinnvollerweise in den .h und .cpp der 
Library mache (die dann aber ggf. bei einem Update überschrieben werden, 
da ich bisher nicht mit einem Repository arbeite), eigene .h und .cpp in 
dem Verzeichnis anlege (myLiquidCristal oder so ähnlich), oder ob ich 
das ganze in meine eigene Bibliothek packe, in der ein paar Funktionen 
des Projektes liegen.

Ich tendiere zu A da ich denke, dass alles, was mit einem Display zu tun 
hat zusammen liegen sollte.

Was ist hier der etablierte Weg?

Danke & Gruß,
Georg
Gast #4648081
Lesenswert?
• ▲
▼
Wenn die Libraries frei Verfügbar sind, dann würde man das (im 
professionellen Umfeld) vermutlich so machen:

Man "forked" das Repository, sprich man legt eine "verknüpfte Kopie" an. 
Das hat den Vorteil, dass du Teile ändern kannst, aber Updates ganz 
einfach "mergen" kannst. Wenn du manuell etwas in einer Methode 
verändert hast, klappt das nicht mehr, da wird es überschrieben.

Wenn es nur um Ergänzungen geht, dann würde ich, wie Thomas 
vorgeschlagen hat, einfach die entsprechenden Klassen erweitern bzw. 
falls noch nicht mal das von Nöten ist (z.B. weil du ASCII-Art 
implementierst, also unabhängig von der Lib bist), dann würde ich wohl 
mit einem Ordner LiquidCrystal_EXT (Extended) arbeiten und dem Namespace 
benutzen


Also: Es kommt ganz darauf an. Je tiefer deine Änderungen in die Lib 
selbst gehen, desto näher solltest du dem originalen Code sein.

Außerdem kann dir jemand beim Forken Feedback geben, deinen Code 
benutzen, mitarbeiten, etc. Und wenn du mal Git kannst, ist das 
beruflich auch von Vorteil.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.