Bei der Code Competition “Zapfsäulenkönig”
Bei der Code Competition 06/2016 “Zapfsäulenkönig” ging es um die Abfrage einer REST-API und die übersichtliche Darstellung der gewonnenen Daten. Die verwendete Technologie ist den Teilnehmern weitgehend freigestellt gewesen. Da wir so viele tolle Abgaben erhalten haben, haben wir uns entschieden, bei dieser Code Competition insgesamt 5 Preise zu vergeben (1. Platz, 2. Platz, 3 dritte Plätze). Christian hat seine Lösung in C# entwickelt und sich einen der 3 dritten Plätze gesichert! IT-Talents: Herzlichen Glückwunsch Christian zum dritten Platz bei der Code Competition 06/2016 („Zapfsäulenkönig“)! Stell Dich doch den anderen IT-Talenten kurz vor. Christian: Hallo Zusammen. Mein Name ist Christian. Ich bin 28 Jahre Jung, habe vor 2 Jahren meinen Masterabschluss in Informatik gemacht und bin seitdem im Berufsleben als .NET Developer mit Schwerpunkt Webentwicklung angekommen. Meine Interessen liegen ganz klar in der Softwarekonzeption und -entwicklung. Dabei fasziniert mich besonders, dass es immer neue Thematiken, wie neue Sprachen, Frameworks oder Techniken gibt, in die man sich einarbeiten kann und teils sogar muss. Dies sorgt dafür, dass das/mein Entwicklerleben nie langweilig oder eintönig wird. IT-Talents: Was hat Dich motiviert, an der Competition teilzunehmen? Christian: Meine Motivation generell an Competitions teilzunehmen ist, sich an neuen interessanten Aufgaben zu probieren und sich teils neuen Herausforderungen zu stellen. Konkret wurde es diese Competition, weil mich die Thematik, das Auslesen von Schnittstellen, das Bereitstellen und Auswerten von gesammelten Daten und der Wahl einer geeigneten Darstellung, besonders interesssiert hat. IT-Talents: Und wie bist Du auf die Code Competition aufmerksam geworden? Christian: Ich verfolge bereits seit beginn des Jahres die monatlichen Code Competitions von IT-Talents und bin ganz zu Beginn über Facebook auf IT-Talents und die verantstalteten Competitions aufmerksam geworden. IT-Talents: Wie bist Du an die Lösung der Aufgabenstellung heran gegangen, und wieso hast Du Dich für die Programmierung in C# entschieden? Christian: Meine grundsätzliche herangehensweise an die Aufgabenstellung war es, wie ich es eigentlich immer mache, meine Applikation in „Logik“ und „Darstellungs“ aufzuteilen und erst einmal die gesammte Buisnesslogik zu implementieren. Gegen Ende kümmere ich mich dann um Feinheiten, wie die konkrete Art der Ausgabe. Ganz zum Schluss kümmere ich mich dann um die „Fanciness“. Die Wahl von C# war für mich von Anfang an klar, da ich mich privat und beruflich intensiv damit auseinander setze und sie somit für mich die beste Grundlage für eine solche Aufgabenstellung bot. Die größere Herausforderung war allerdings die Wahl des richtigen Frameworks. Zu Beginn habe ich mit WPF gestartet. Dort bin ich relativ spät an diverse Grenzen gestoßen, was beispielsweise das Anzeigen einer Googlemap anging. Daher habe ich zur Halbzeit noch einen Wechsel zu MVC gemacht, was mir die Entwicklung einer geeigneten GUI deutlich erleichtert hat. IT-Talents: Welche Probleme sind bei der Entwicklung der Software aufgekommen? Wie lange hat die Entwicklung gedauert? Christian: Es gab eigentlich nur 2 größere Herausforderungen bei der Umsetzung der Aufgabenstellung. Die Erste hatte mit einem Zusatzfeature von mir zu tun, in welchem ich zur anschaulichen Datstellung der Tankstellen eine Googlemap nutzen wollte. Dies erwies sich in WPF für mich als etwas schwieriger, was mich auch zum Wechsel auf MVC veranlast hat. Die zweite war das generische Auslesen der Schnittstelle. Es erwies sich in der Tat als etwas schwieriger die Schnittstelle sauber und generisch auszulesen, da je nach verwendetem Call sich sowohl Parameter als auch Rückgaben deutlich voneinander unterschieden, was ein einheitliches Handling aller Daten erschwert hat. Hierzu musste ich ein wenig mehr implementieren als erwartet, um weiterhin ein einheitliches Handling zu ermöglichen. Die Entwicklung des Grundgerüstes der Applikation ging relativ schnell und war an einem Wochenende erledigt. Die folgende Zeit hatte ich mich sehr mit Kleinigkeiten aufgehalten, welche mir diverse Abende mit Spaß bereiteten. IT-Talents: Sehr interessant, was hast Du durch die Entwicklung gelernt? Christian: Durch diese Entwicklung konnte ich mich einmal durch eine konkreten Aufgabenstellung im Detail mit MVC beschäftigen, was ich schon länger mal vor hatte 😉 Besonders gefällt mir dabei, dass ich auf einer „grünen Wiese“ frei von Beschränkungen arbeiten und experimentieren kann. IT-Talents: Was würdest Du Dir thematisch gerne einmal als Code Competition wünschen? Christian: Da ich selbst durch mein Studium mit der Thematik Mustererkennung zu tun hatte, würde ich mir eine Code Competition in diesem Bereich wünschen. Vielleicht etwas in der Richtung von Klassifikation von Daten, Bildern oder Audiofiles, da insbesondere in der heutigen Zeit von Big Data dies ein großes und immer wichtiger werdendes Thema ist. IT-Talents: Vielen Dank für Deine Teilnahme, das Interview und viel Spaß mit Deinem Gewinn 😉
Du kannst Dir einen Eindruck von Christians Lösung machen. Einen Teil seines Codes (Model, View und Controller) sowie seine Softwaredokumentation stellen wir Dir zum Nachvollziehen und Lernen in den Downloads dieses Blogartikels zur Verfügung.