Last updated on 8. Februar 2014
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.
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.
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!
Schreibe den ersten Kommentar