Tipp: Code-Regionen

Hier können Artikel, Tutorials, Bücherrezensionen, Dokumente aller Art, Texturen, Sprites, Sounds, Musik und Modelle zur Verfügung gestellt bzw. verlinkt werden.
Forumsregeln
Möglichst sinnvolle Präfixe oder die Themensymbole nutzen.

Tipp: Code-Regionen

Beitragvon Gelöschter Benutzer » 01.03.2009, 19:38

Wer kennt das nicht? Schreibt man viel Code, so wird selbst die beste Kommentierung einfach unübersichtlich.

Hilfreich wäre es hier, wenn man einfach Bereiche erstellen könnte, die einfach beschreiben was an dieser Stelle steht und was dort passiert. Noch netter wäre es, wenn man diese Stellen ein- und ausklappen kann. Nicht nur das wir diese Idee nun kennen, kennt Visual Studio das auch.

Der Trick ist hierbei relativ simpel und umfasst an sich nur zwei Zeilen Platz:
Code: Ansicht erweitern :: Alles auswählen
#pragma region Regionsname
#pragma endregion

Schon kann man Code zwischen den Zeilen besser organisieren (siehe Anhang für Visual Studio) und findet meistens besseren Überblick ;). Eine Verschachtelung von Regionen ist möglich und sehr einfach anzuwenden:
Code: Ansicht erweitern :: Alles auswählen
#pragma region A
#pragma region B
#pragma endregion
#pragma endregion

pragma_region.png
Die "#pragma region"-Funktion
pragma_region.png (4.11 KiB) 3469-mal betrachtet

Natürlich stellt man sehr schnell fest, dass jedes mal in Visual Studio - sofern wir #pragma schreiben - sofort ganz am Anfang der Zeile gerutscht wird. Dies können wir jedoch mit einem kleinen Trick beheben: Tab-Taste drücken bis es an die richtige Position ist.

Visual Studio erkennt diesen Einzug und wendet diesen entsprechend an (wie im Bild).

Ich hoffe nun, dass das Kommentieren nun einfacher und attraktiver wird - damit auch andere Quellcode eines Programmierers verstehen können :).
Gelöschter Benutzer
 
Beiträge: 92
Registriert: 26.02.2009, 23:09

Re: Tipp: Code-Regionen

Beitragvon Alexander Kornrumpf » 02.03.2009, 00:20

Ich hoffe es ist ok, wenn ich nur mit einem nackten Link antworte, um die Diskussion in Gang zu bringen.

http://www.codinghorror.com/blog/archives/001147.html
Alexander Kornrumpf
Moderator
 
Beiträge: 1630
Registriert: 25.02.2009, 14:37

Re: Tipp: Code-Regionen

Beitragvon Krishty » 02.03.2009, 14:13

codinghorror kann ich nur zustimmen. Ich bin nie in eine Situation gekommen, in welcher der Einsatz von Code-Folding (sei es automatisch oder durch #pragma region) nötig gewesen wäre:
  • Deklarationen von Klassen (und größeren Sub-Klassen) gehören eh immer in eigene Dateien.
  • Klassendeklarationen werden nicht durch Definitionen „verpestet“, selbige gehören nämlich in andere Dateien. Ist dies nicht möglich (Templates), reichen meist auch Kommentarzeilen (//------- …).
  • Funktionen werden einfach nicht übermäßig lang oder komplex, sonst hat man was falsch gemacht.
  • Es gibt die Suche, „finde alle Referenzen“, „Gehe zu Deklaration/Definition“ …
Von daher sehe ich nicht wirklich die Daseinsberechtigung für sowas …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6591
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Tipp: Code-Regionen

Beitragvon Alexander Kornrumpf » 02.03.2009, 14:15

Man muss allerdings zugestehen, dass deine Einwände C++ spezifisch sind. Leider hat man oft alles in einer Datei, wenn man andere Sprachen verwendet.
Alexander Kornrumpf
Moderator
 
Beiträge: 1630
Registriert: 25.02.2009, 14:37

Re: Tipp: Code-Regionen

Beitragvon Seraph » 02.03.2009, 14:53

Ich bin mir nicht sicher, aber soweit ich Patrick verstanden habe, geht es ihm um Kommentare. Wenn man z.B. fuer das naechstbeste Projekt eine Doku mittels Docu-Generator erstellen moechte, so koennen die Kommentare vor den jeweilgen Funktionen schon einige Zeilen in Anspruch nehmen. Die #pragma region Direktive koennte hier helfen die Uebersicht zu behalten.

Ansonsten halte ich allgemein die Direktive fuer C++ groesstenteils ueberfluessig, bei anderen Sprachen wie C# hingegen kann sie sehr hilfreich sein, sofern man sie sparsam einsetzt.
Seraph
Steffen Engel
Site Admin
 
Beiträge: 1130
Registriert: 18.04.2002, 21:53

Re: Tipp: Code-Regionen

Beitragvon Krishty » 02.03.2009, 15:27

Selbst dann dürfte es ohne #pragma gehen? Die IDE bietet das doch automatisiert an …
Code.png
Code.png (6.76 KiB) 3370-mal betrachtet

Edit: In C# ist es btw #region, nicht #pragma region.
Zuletzt geändert von Krishty am 02.03.2009, 16:30, insgesamt 1-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6591
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Tipp: Code-Regionen

Beitragvon Seraph » 02.03.2009, 16:12

Und nun stell Dir vor Du hast eine Funktion die fuenf Parameter hat und Du beschreibst jeden Parameter, damit der Docu-Generator auch weiss, was mit jedem Parameter gemeint ist. Das waeren allein fuer die fuenf Parameter fuenf extra Zeilen.

Richtig, unter C# ist es nur #region. Aber moechtest Du wirklich, dass ich das fuer jede Sprache immer speziell dazu schreibe oder reicht es nicht einmal zu schreiben und jeder denkende Mensch adaptiert es fuer die entsprechende Sprache selbst? ;)
Seraph
Steffen Engel
Site Admin
 
Beiträge: 1130
Registriert: 18.04.2002, 21:53

Re: Tipp: Code-Regionen

Beitragvon Krishty » 02.03.2009, 16:18

Mit dem Screenshot wollte ich eigentlich auf das „-“ neben dem Kommentar hinaus (da wo die Maus draufzeigt) – den kann ich damit auch zusammenklappen, egal ob er drei Zeilen lang ist oder tausend. Warum also noch explizit definieren und den Quellcode verpesten?

Das mit #region war ungeschickt ausgedrückt, sorry. Wenn es in anderen Sprachen nützlich ist (mag ja durchaus sein), dann sollte es auch irgendwo hier vorkommen – der Artikel bezieht sich aber explizit auf #pragma region und damit C++.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6591
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Tipp: Code-Regionen

Beitragvon Seraph » 02.03.2009, 16:25

Pff, das naechste Mal nimm doch bitte einen roten Pfeil. :P Aber stimmt, gar nicht mehr daran gedacht, dass man Kommentare mittlerweile selbst einklappen kann. Na gut, ein Verwendungszweck weniger. Na gut, dann beschraenkt sich #region wohl wirklich auf nur sehr wenige sinnvolle Einsatzmoeglichkeiten.
Seraph
Steffen Engel
Site Admin
 
Beiträge: 1130
Registriert: 18.04.2002, 21:53

Re: Tipp: Code-Regionen

Beitragvon Krishty » 02.03.2009, 16:33

Ja, rückblickend nicht so toll, ist korrigiert :)

Wo sind die Windows-98-Zeiten hin, als der Cursor auf jedem Screenshot als mächtiger Pixelpfeil hervorprangte um den Massen ihren Weg zu weisen … heute ist er nurnoch ein winziger, blasser Hauch von Nichts auf dem pastellfarbenen Hintergrund der High-Res-Anwendungen …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6591
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy


Zurück zu Artikel, Tutorials und Materialien

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron