Regions, wer benutzt sie?

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Yanbel.

    Regions, wer benutzt sie?

    Moin,

    ich benutze zuletzt vermehrt gerne #Region um Codeblöcke zusammenzufassen.

    Besonders für Klassen mit mehr als 3 Konstruktoren dort fasse ich die Konstruktoren in einer "Constructors" Region zusammen, oder für Funktionen mit vielen Überlagerungen hilft mir das sehr bei der Übersicht.

    Wie siehts damit bei euch aus, benutzt ihr sie und wenn nicht, warum?

    Grüße :)
    Ich bevorzuge das Aufteilen von Klassen in Partial Files. Die kann ich dann passend benennen und finde die Trennung der Zuständigkeiten besser als mit Regions (die ich gar nicht benutze), bei denen ich alles in einer Datei hätte.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Da ich selten mehr als 3 Konstruktoren habe und die jeweils nur wenige Zeilen haben, sind die bei mir alle in einer Datei.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @BlueLagoonX Bei mir gibt es üblicherweise folgende Regionen:
    • Events und Delegates
    • Member
    • Properties
    • Konstruktoren
    • Public Stuff
    • Protected Stuff
    • Private Stuff
    • Eventhandler
    Natürlich nicht überall alles.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Oftmals wird behauptet, wenn man sich dazu verleitet fühlt #Regions zu benutzen, sollte man nochmal die Struktur des Codes überdenken. Zurückblickend auf alle Regions die ich bisher gesetzt habe, kann ich der Aussage nur zustimmen.

    Viele #Regions lassen sich durch eine bessere Struktur/Ordnung des Codes verhindern. Gemeint ist damit Klassen klein zu halten, keine ewigen Methodenmonster zu schreiben, sondern jeder Methode eine gezielte Aufgabe zu geben. Mit guter Bennenung der Klassen/Methoden bleibt dabei alles auch noch recht selbsterklärend.

    RodFromGermany schrieb:

    Bei mir gibt es üblicherweise folgende Regionen:
    Events und Delegates
    Member
    Properties
    Konstruktoren
    Public Stuff
    Protected Stuff
    Private Stuff
    Eventhandler

    So ähnlich sieht's bei mir auch aus.
    Allerdings habe ich festgestellt, dass wenn man den Code sauber nach so einem Verfahren ordnet, dass man gar keine #Region Anweisungen mehr benötigt, um Durchblick zu behalten.
    Deshalb arbeite ich meist nur mit den virtuellen Regionen in meinem Kopf und laufe nicht Gefahr, dass ich versehentlich eine Region ausblende, die ich eigentlich sehen will.

    Ansonsten, wie bereits erwähnt wurde, sauber strukturieren und sinnvoll benennen.
    Dann die Navigationsleiste zur Suche der Strukturen verwenden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich persönliche verwende bei vielen Codezeilen auch sehr gerne eine Region.
    Zum Beispiel:

    VB.NET-Quellcode

    1. #Region "EinstellungenFestlegen"

    Ich fasse den Code zusammen, und gebe ein passenden Titel an. ^^
    Visual Basic.NET 8o
    MS-SQL
    8o
    Ich benutze tatsächlich gerne Regions, einfach um mich beim BugFixing schneller zurecht zu finden.

    Im Regelfall hab ich dann feste Region-Blöcke für Forms, UserControls, Viewmodel, und Business-Intelligence. Brauchen tue ich sie tatsächlich nicht, es hängt mehr mit meiner Art zu arbeiten zusammen und der Reihenfolge meiner Code-Blöcke. So weiß ich immer in welchem Code-Abschnitt ich nach etwas suchen muss. Ich kann jeden verstehen, der Regions ablehnt, aber hab ich Verständnis dafür, wenn man sie benutzt.

    Im Regelfall unterteile ich meinen Code in Forms und UserControls ähnlich wie @RodFromGermany auf:
    • Deklarationen (Deklarationen von Variablen, Properties, Events, etc.)
    • Initialisierung (New, Load, Activated, Shown, etc.)
    • Layout & Design (Paint, GraphicsPath-Preparing-Sub, etc)
    • Eventhandling (Control-Eventhandler, eigene Eventhandler)
    • Methoden & Funktionen (Alle restlichen Functions und Subs)
    Ersetzt bei mir ganz einfach die DropDown-Navigation im oberen Bereich. Denn wie @ErfinderDesRades bereits geschrieben hat, überschreitet der Umfang einer Klasse im Regelfall nicht die 300 Zeilen Programmcode, daher eine sehr flache Aufteilung nach Kisten-Prinzip.


    Ein Computer wird das tun, was du programmierst - nicht das, was du willst.