„sea“ – Mein Betrag für den 5. Coding Contest

Nun ist der Coding-Contest vorbei, meine Lösung ist eingereicht und ich bin gespannt, wie meine Lösung bewertet werden wird. In diesem Artikel möchte ich euch einen kurzen Einblick in mein Programm geben.

sea-logo

Die Aufgabe

In der dritten Kategorie des Wettbewerbs (Java, Ruby, C#) war es die Aufgabe ein Programm zu entwickeln, das eine Textdatei einliest und die darin enthaltene DNA-Sequenz auf bestimmte Muster hin analysiert.

Meine Lösung

Zunächst ein kleiner erster Eindruck der Oberfläche meines Wettbewerbsbeitrags.

Diese Diashow benötigt JavaScript.

Mit „sea“ habe ich die Aufgabe für die Kategorie Java, Ruby und C# gelöst. sea steht für sequence analyzer.
Es ist eine kleine Java und JavaFX2.2 Anwendung, die, der Aufgabe entsprechend, eine Textdatei einliest und die analysierten Daten auf einem neuen Bildschirm in Kacheln anordnet (Siehe Screenshot).

Interface

Bei der Gestaltung der GUI habe ich mich entschieden, dem aktuellen Designtrend zu folgen und das Flat Design anzuwenden. Dank JavaFX habe ich die Möglichkeit, die Elemente meiner Oberfläche mit CSS zu manipulieren und meinen Entwürfen entsprechend anzupassen. Das Farbschema habe ich dem Titel des Programms hin angepasst und blau gehalten. Zwei Blautöne und Weiß für die Schrift ergeben damit ein stimmiges Gesamtbild. Elemente, die eine Interaktion zulassen, sind mit abgerundeten Ecken versehen (Buttons, Scrollbalken), die anderen Elemente sind ohne abgerundete Ecken gestaltet.

Technisches

Da das Erzeugen einer ausführbaren jar mit Maven und JavaFX nicht so recht klappen wollte, bin ich auf das JavaFX-Maven-Plugin von Daniel Zwolenski gestoßen. Damit war das Problem, dass die JavaFX-Abhängigkeiten nicht in der jar zu finden waren, auch schnell behoben und die jar endlich korrekt erzeugt.
Neben Maven und JUnit (genauer Build und Test Werkzeuge) durften keine externen Bibliotheken zur Lösung genutzt werden.

Und sonst…?

Da nur genau eine Woche Zeit war, steht hier und da noch Optimierungspotential für einige Stellen im Code an. Es gibt Bedarf an Refactorings und zusätzlichen Testfällen. Den geforderten Funktionsumfang deckt meine Lösung allerdings ab. Eine Erweiterung der Funktionalität könnte z.B. das Speichern eines Reports in eine PDF-Datei sein oder die Auswahl der zu analysierenden Muster regelbar und erweiterbar zu gestalten.

Den Code findet ihr in meinem GitHub Repository!

Marlene Knoche Verfasst von:

Informatikerin mit Hang zur Kunst. - Theaterbegeistert, mag Katzen und Kaffee.

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.