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:
Zusä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