BASTA! 2014 Countdown

High Quality C#? – Warum Entwickler immer wieder die gleichen Fehler machen
Kommentare

Haben Sie schon einmal vergeblich versucht, den Code eines Kollegen zu durchschauen? Oder sind Sie vielleicht Jahre später wieder über ihren eigenen Code gestolpert, der zwar immer noch einwandfrei funktioniert, bei dem Sie aber mittlerweile nur noch Bahnhof verstehen? Falls ja, können Sie die allgemeine Forderung nach einer erhöhten Codequalität sicherlich gut nachvollziehen.

In seiner Session auf der BASTA! 2014 erklärt Rainer Stropek (software architects gmbh), wie Sie die Qualität Ihres C#-Codes steigern und dessen Lesbarkeit für andere und Ihr zukünftiges Ich erhöhen können. Im Rahmen unseres BASTA! Countdowns gibt Rainer erste Einblicke in den High Quality C# Code und teilt bereits im Vorfeld einige wertvolle Tipps mit Ihnen.

Windows Developer: Auf der BASTA! hältst du eine Session, in der sich alles im High Quality C#-Code dreht. Ohne zu viel vorweg nehmen zu wollen – möchtest du uns schon jetzt ein paar der Grundprinzipien des qualitativ hochwertigen Codes verraten?

Rainer Stropek: Es gibt viele Aspekte, die guten Code von weniger gutem unterscheiden. Effizienz, Lesbarkeit und Robustheit sind nur drei davon. Die individuelle Gewichtung hängt jedoch von vielen Faktoren ab. Vor kurzem war ich wieder einmal als externer Reviewer bei einem Kunden. Wenn über einer Methode ein großer, von unzähligen Ausrufezeichen umschlossener Kommentar „Do not touch this code if you are not 100% sure what you are doing“ steht und danach zig Bildschirmseiten komplexer Code ohne eine Zeile Kommentar folgen, dann ist das ein Musterbeispiel für Code mit Verbesserungsbedarf. Er ist vielleicht effizient, aber sicher nicht lesbar und führt daher zu hohem Wartungsaufwand.

Windows Developer: Und was darf man auf keinen Fall tun?

Rainer Stropek: Egoistisch entwickeln. Wer Coding-Guidelines nur als unangenehme Einschränkung seiner persönlichen Freiheit sieht und der Meinung ist, dass seinen Code nur er selbst verstehen muss, macht etwas falsch.

High Quality C#-Code lohnt sich langfristig

Windows Developer: Hand auf’s Herz: Bedeutet eine Steigerung der Codequalität nicht auch eine Steigerung des Arbeitsaufwands für den Entwickler?

Rainer Stropek: Kurzfristig ja, langfristig nein. Sinnvolle Qualitätssicherungsmaßnahmen sind kein Selbstzweck, sondern helfen, Fehler zu vermeiden und im Team effizienter arbeiten zu können. Auch wenn das für den einzelnen Entwickler manchmal unbequem ist, sollte man das übergeordnete Ziel des Teams, die Softwarequalität laufend zu steigern, nicht aus den Augen verlieren. Zugegeben, manchmal findet man auch übereifrige Qualitätsmanager, die sich beinahe arbeitsverhindernde Richtlinien ausdenken und durchsetzen wollen. In so einem Fall braucht es eine gute Gesprächs- und Konfliktkultur im Team, um Lösungen zu finden. Für solche Fälle haben Scrum Teams den Scrum Master.

BASTA! 2014

Jede Menge spannende Sessions rund um .NET, Windows und JavaScript gibt es auf der BASTA!, die vom 22. bis zum 26. September in der Mainzer Rheingoldhalle stattfindet und mit über 130 Sessions, Workshops und Keynotes aufwartet. Als Teilnehmer kann man zusätzlich auch die Sessions der gleichzeitig stattfindenden ALM today kostenlos besuchen.

Windows Developer: Welche Rolle spielt Microsofts neue Compiler-Technologie Roslyn in Hinblick auf die Codequalität?

Rainer Stropek: Roslyn macht es bedeutend einfacher, eigene Codeanalysen und Refactoring-Tools zu entwickeln. Die meisten werden sich zwar weiterhin auf vorgefertigte Tools aus dem Hause Microsoft oder von Drittherstellern verlassen. Im Falle des Falles lassen sich aber mit Roslyn individuelle Anpassungen machen, auch wenn man nicht in diesem Metier zu Hause ist.

Windows Developer: Hast du abschließend vielleicht einen einfachen Tipp für unsere Leser zur Steigerung ihrer Codequalität, den sie noch heute ausprobieren können?

Rainer Stropek: Ich könnte jetzt einfach eines der unzähligen Codeanalysetools nennen – aber das wäre langweilig und außerdem bräuchte man ja dann nicht mehr in meine BASTA!-Session zu kommen 😉 Es ist Zeit, bewusst die Scheuklappen abzulegen, die wir Entwickler meistens auf haben. Wir machen immer wieder die gleichen Fehler. Wir unterschätzen regelmäßig unser Nichtwissen.

Mein konkreter Tipp diesbezüglich ist, gleich nach dem Lesen dieses Artikels seine persönliche 30-Tage-Challenge zu starten und dabei zu versuchen, negative Muster zu erkennen und zu durchbrechen. Warum nicht zwei Wochen lang auf einem Zettel neben der Tastatur eine Strichliste mit gemachten Coding-Fehlern führen? Die persönlichen Top 10 werden sich wahrscheinlich klar abzeichnen und die kann man dann die nächsten zwei Wochen gezielt bekämpfen. Idealerweise findet man Mitstreiter im Team, mit denen man seine Erfahrungen austauschen kann. Diese Methode ist sehr nützlich, zeigt rasch Resultate, wirkt langfristig und macht im Team auch Spaß.

Windows Developer: Danke für das Gespräch, Rainer.

© Rainer Stropek

Rainer Stropek ist seit über zwanzig Jahren als Unternehmer in der IT-Industrie tätig. Er gründete und führte in dieser Zeit mehrere IT-Dienstleistungsunternehmen und entwickelt im Augenblick in seiner Firma „software architects“ mit seinem Team die preisgekrönte Software „time cockpit“.

Rainer hat Abschlüsse an der Höheren Technischen Schule für MIS, Leonding (AT) sowie der University of Derby (UK). Er ist Autor mehrerer Fachbücher und Artikel in Magazinen im Umfeld von Microsoft .NET und C#. Seine technischen Schwerpunkte sind C# und das .NET Framework, XAML/WinRT/WPF/Silverlight, die Windows-Azure-Plattform sowie SQL Server. Seit 2010 ist Rainer MVP für Windows Azure.

Rainer tritt regelmäßig als Speaker und Trainer auf namhaften Konferenzen in Deutschland, Österreich und der Schweiz auf (z.B. BASTA!, SAPPHIRE, MS BigDays, MS Architecture Conference, MS TechEd, OOP, ADC, DEVCamp etc.).

Aufmacherbild: young businessman yells because he made a mistake on the computer von Shutterstock / Urheberrecht: Ollyy

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -