#region CleanCodeZone – warum ich „codeRegions“ in Java 10 haben will

Dienstag, 18.7.2017

clean code

Die Schlüsselworte #region und #endRegion erlauben in C# eine Meta-Code-Strukturierung zu spezifizieren, die etwa im Visual Studio in der Anzeige der Outline berücksichtigt wird. 

Konkret sieht das zum Beispiel so aus:

#region MyClass definition 
public class MyClass 
{ 
static void Main() 
{ 
} 
} 
#endregion
Beim Anzeigen der Outline erscheint „MyClass“ in der Übersicht. So eine wunderbare logische Art, Code gedanklich zu strukturieren und einem Leser Verständnishilfen zu geben, wünsche ich mir schon lange in Java. Robert C. Martin hat in Clean Code geschrieben, Code sollte „Top-Down“ strukturiert werden, wie ein Zeitungsartikel, und inhaltlich zusammen gehörende Teile sollten direkt hintereinander im Code folgen und vom Groben zum Feinen führen (Vgl. Robert C. Martin, „Newspaper metaphor“ in Clean Code, Chapter 4 „Formatting“).

Öffnet man die Outline in der IDE seiner Wahl, bleibt aber von einer solchen Strukturierung oft nicht viel übrig – insbesondere, wenn man standardmäßig Filter aktiviert hat, etwa „nur public Methoden anzeigen“ oder eine alphabetische Methodensortierung aktiv ist.

Eine #codeRegion könnte da sehr elegant helfen, die Struktur klarzumachen. Eine solche Outline sähe zum Beispiel so aus:

Outline CodeRegionZusätzlich könnte eine IDE eine Region beim Selektieren über die Outline matt farbig hinterlegen, so dass beim Lesen die Grenzen noch klarer erkennbar sind.

Wenn man versucht, Clean Code als Prinzip zu etablieren in einer Umgebung, in der bisher wenig damit gearbeitet wurde, kann man sogar noch einen Schritt weiter gehen und eine #codeRegion CleanCodeZone könnte in einer Legacy-Klasse an einer Stelle erst klein entstehen, „sauberen“ Code aufnehmen und sukzessive erweitert werden.




Eine kleine Erweiterung der Sprache – mit potentiell großer Clean-Code-Wirkung.
Das wäre mein Wunsch für Java 10!

zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Christoph Meyer

Christoph Meyer

Diplom-Wirtschaftsinformatiker Christoph Meyer ist Senior Berater und Softwarearchitekt bei der viadee IT-Unternehmensberatung und seit 2007 in Kundenprojekten im Bereich Handel, Banken und Versicherungen unterwegs. Er ist Clean Code Evangelist und Kanban-Fan und hat mit den Schwerpunkten Backend-Security, Batchverarbeitung vom Host bis Spring und DevOps immer neue Seiten seiner Java-Leidenschaft entdeckt. Bewältigung von Legacy-Software mit Herstellung von Testbarkeit und großen Refactorings findet er spannend. Christoph gibt sein Wissen gerne in Workshops an Kunden, Kollegen und Studenten weiter. Christoph Meyer auf Twitter