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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren