• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

[DEV] Packages

Reini

Geocacher
Der Sourcecode von CW wird langsam unübersichtlich.

Ich fände es gut wenn wir die Codebasis besser strukturieren indem wir weitere packages unterhalb von CacheWolf einführen würden, z.B.

exp - für alle Exporter
imp - für alle Importer bzw. alles was Cachedaten einliest (also auch Spider)
map - für alles was mit der moving map zu tun hat
util - für utilities (Extractor, SafeXML, MyLocale, Common)

Was haltet Ihr davon?

Wenn ja, nach welchen Kriterien sollten wir vorgehen? UserInterface? Logischer Zusammenhang?
 

pfeffer

Geowizard
hmm.. finde ich schwierig. Mir fällt da die Zuordnung schwer. Die Track-Klasse, z.B. gehört sie zu Goto oder zur MovingMap? Wozu gehört Goto? zu GPS?

eigentlich bin ich sehr ein Freund davon, Funktionalität vom UserInterface zu trennen. Aber ehrlich gesagt, geht es mit dem Mischmasch so manchmal einfach schneller zu implementieren ;-) Und manchmal wird dadurch der Code auch schneller.

Bei weiteren Unterklassen bekommt man außerdem das "Problem", dass man außerhalb von einem Paket auf bestimmte Member nicht zugreifen kann, wenn sie nicht explizit (public) dafür definietrt sind.

Die Datei TrackPoint.java enthält z.B. die Klasse Track, die nicht als public definiert ist, weil sie dann ein extra file bräuchte. Alle anderen Klassen innerhalb des Paketes können trotzdem auf sie zugreifen, aber Klassen außerhalb nicht... naja... man könnte auch einfach noch eine Track.java erstellen.

Gruß,
Pfeffer.
 

Kalli

Geowizard
Bei den Exportern macht es Sinn, die sind eindeutig zuzuordnen und man hat gleich 11 Files, die aus dem Package CacheWolf wegkommen. Ich habe da eh eine Idee für eine Exporterklasse, aus der sich die anderen ableiten. Ich probier das mal aus.
 

Bilbowolf

Geowizard
Ich glaube Du hast bei dem exporter für destinator einen Fehler gemacht. Das kannst du nicht über TPL lösen, da Desti eine Binärdatei erwartet. Mache den FR wieder auf.
 
Oben