Zeilenkommentare
-
Hallo,
ich würde gerne erfahren, wie ihr Zeilenkommentare handhabt (also Kommentare, die nur eine einzelne Zeie kommentieren) bzw. was hier am ehesten Standard ist.
Folgende Varianten habe ich bisher gesehen:
- einfach drüber
// these nodes only have one predecessor current_pre_nodes = current_nodes[j]->get_pre_nodes();
So kann man Zeilenkommentare aber nicht von Blockkommentaren unterscheiden.
- drüber und eingerückt
// these nodes only have one predecessor current_pre_nodes = current_nodes[j]->get_pre_nodes();
Ich finde das irreführend, da einrücken sonst eine andere Bedeutung hat.
- dahinter
current_pre_nodes = current_nodes[j]->get_pre_nodes(); // these nodes only have one predecessor
Das scheint mir ok, allerdings braucht man dann genug Platz. Den kann man sich zwar mit Zeilenumbrüchen verschaffen, das verringert aber die Lesbarkeit.
- drüber, mit Symbolen am Anfang, die anzeigen, dass jetzt ein Zeilenkommentar kommt
// @@@ these nodes only have one predecessor current_pre_nodes = current_nodes[j]->get_pre_nodes();
Dies orientiert sich daran, wie Unterblöcke laut "Code Complete" zu kommentieren sind, also
// Mach A und B Code, der A und B vorbereitet // ... Mach A Code für A // ... Mach B Code für B
Allerdings wäre dann die Frage, welche Symbole man am Anfang nimmt. "..." finde ich recht intuitiv, um einen Unterblock anzuzeigen, was man am sinnvollsten für einen Zeilekommentar nehmen würde, ist mir unklar.
-
Variante 1/2. Einrückung aber natürlich auf Höhe des Codes:
// Kommentar zu Zeile 2 (und eventuell folgenden) Zeile 2; { // Kommentar zu Zeile 5 (und eventuell folgenden) Zeile 5; }
Wenn ich mich vergesse oder es wirklich nur eine kleine Erläuterung zu einem Trick ist, anstatt eine Erläuterung zur Zeile, dann auch manchmal Variante 3.
Variante 4 ist anscheinend die Abwandlung eines Doxygen-Kommentars. Wenn ich ein Kommentierungssystem nutze, muss ich mich eben an dessen Syntax halten.
-
ingobulla schrieb:
...Kommentare...was hier am ehesten Standard ist
ehester Standard im Sinne von Sprachstandard ist /* */, weil portabler und für mehrzeilige Kommentare besser geeignet (es soll auch Leute geben, die schreiben für eine Funktionserläuterung mehr als 1 Zeile Kommentar).
Auch sind C99/C++ Kommentareinleitungen '//' in gewissem Sinne fragiler als die herkömmlichere Variante hinsichtlich des aktuellen Wrap-Modus des IDE-Editors, falls diese Kommentare mal länger werden, also z.B.// blabla ..... längerer Text system("format c:");
könnte mal zu unschönen Effekten führen.
-
lol
-
Tim schrieb:
lol
+1
-
Anscheinend ist mein Stil ziemlich exotisch, ich habe mir nämlich angewöhnt, die Kommentare eingerückt unter die betroffene Zeile zu schreiben, wenn sie zu lang werden, weil das für mich die Zusammengehörigkeit am besten ausdrückt. also so (ich habe eine alte Hilfsfunktion, die ich mir mal irgendwann geschrieben habe, neu kommentiert, weil ich grad kein Beispiel gefunden habe; so viel zu „angewöhnt”
):
std::streamsize Dateigroesse_Ermitteln(std::fstream& Datei) { //Möglicherweise nach cplusplus.com/reference std::streampos PosZuvor = Datei.tellg(); //Die alte Position merken Datei.seekg(0, std::ios::end); //Ans Ende springen std::streamsize Lge = Datei.tellg(); //Wird nun die Menge an Zeichen zwischen //Anfang und Ende zurückliefern, also die Länge Datei.seekg(PosZuvor); //Verschieben rückgängig machen return Lge; //Gibt die Länge zurück //Hier könnte jetzt irgendein Verbesserungsvorschlag stehen, //der sich wieder auf die ganze Funktion bezieht }
Diskleimer: Ja, die Kommentare sind genauso blöd wie das Wortspiel, aber sie sollten die Intention zeigen.