<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Besser später kommentieren?]]></title><description><![CDATA[<p>Ist es eigentlich besser, wenn man seinen Code erst später kommentiert? Mir kommt es so vor, dass, wenn ich meinen Code nach einer ganzen weile erst wieder sehe und kommentiere, die Kommentare besser werden, weil ich dann wieder überlegen muss und mir einiges nicht mehr auf anhieb logisch erscheint, was ich vorher nicht kommentiert hätte.</p>
<p>PS: An die, die sich mit Interpunktion auskennen. Stimmt das da oben so?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/177862/besser-später-kommentieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Jul 2026 00:21:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/177862.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Apr 2007 18:23:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Besser später kommentieren? on Wed, 04 Apr 2007 18:23:43 GMT]]></title><description><![CDATA[<p>Ist es eigentlich besser, wenn man seinen Code erst später kommentiert? Mir kommt es so vor, dass, wenn ich meinen Code nach einer ganzen weile erst wieder sehe und kommentiere, die Kommentare besser werden, weil ich dann wieder überlegen muss und mir einiges nicht mehr auf anhieb logisch erscheint, was ich vorher nicht kommentiert hätte.</p>
<p>PS: An die, die sich mit Interpunktion auskennen. Stimmt das da oben so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259487</guid><dc:creator><![CDATA[Marco Polo Marco Polo...]]></dc:creator><pubDate>Wed, 04 Apr 2007 18:23:43 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Wed, 04 Apr 2007 19:18:20 GMT]]></title><description><![CDATA[<p>Wenn du dir später erst irgendwas zusammenfrickeln musst, weil du nicht mehr weißt warum du was gemacht hast, werden deine Kommentare besser? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259522</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Wed, 04 Apr 2007 19:18:20 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Wed, 04 Apr 2007 19:54:50 GMT]]></title><description><![CDATA[<p>Ich kann auch Code lesen, der nicht von mir und unkommentiert ist. Nur wenn man ihn liest und nicht mehr so genau kennt, dann weiß man welche Stellen man besser hätte kommentieren hätte sollen, weil die schwerer zu verstehen waren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259560</guid><dc:creator><![CDATA[Marco Polo Marco Polo...]]></dc:creator><pubDate>Wed, 04 Apr 2007 19:54:50 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Wed, 04 Apr 2007 22:56:25 GMT]]></title><description><![CDATA[<p>naja ich weiß net wie du es machst aber ich schreibe erstmal meine funktion und wenn ich meine die ist so ok dann schreibe ich über die funktion ein kommentar im form von:<br />
Abstammung-&gt;<br />
Parameter-&gt;<br />
Erklärung der Funktion</p>
<p>im quelltext selber schreibe ich nurnoch die etwas unleserlichen sachen rein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259663</guid><dc:creator><![CDATA[Stelfer]]></dc:creator><pubDate>Wed, 04 Apr 2007 22:56:25 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 02:39:59 GMT]]></title><description><![CDATA[<p>Marco Polo Marco Polo... schrieb:</p>
<blockquote>
<p>Ist es eigentlich besser, wenn man seinen Code erst später kommentiert?</p>
</blockquote>
<p>Nee, die Kommentare sollen ja gerade helfen den Code <em>später</em> noch schnell zu verstehen.</p>
<p>Aber ich mache das auch oft so, beim zweiten mal sieht man immer mehr.<br />
Habe dafür aber auch schon oft vor altem Code gesessen, den ich dann nochmal neu analysieren musste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259698</guid><dc:creator><![CDATA[DrGreenthumb]]></dc:creator><pubDate>Thu, 05 Apr 2007 02:39:59 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 07:31:14 GMT]]></title><description><![CDATA[<p>Der Ansatz ist schon da, aber nicht richtig durchgeführt: wenn man alten Code durchliest und feststellt, daß man ihn nicht mehr versteht, so sollte man den Code besser verständlich machen, statt einen tollen Kommentar dafür zu zaubern. (Stichwort: Refactoring)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259761</guid><dc:creator><![CDATA[Marc++us]]></dc:creator><pubDate>Thu, 05 Apr 2007 07:31:14 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 08:06:39 GMT]]></title><description><![CDATA[<p>Richtiges Kommentieren ist schon eine Kunst für sich. Ich bin persönlich nicht gut im Kommentieren und komme in letzter Zeit mehr und mehr dahinter, warum.</p>
<p>Wenn ich anfange, Kommentare zu schreiben, ist die Ursache meistens der unleserliche Code. Ich fange dann recht schnell an, den Code umzustrukturieren und vor allen Dingen zu modularisieren, also in Funktionen aufzuteilen. Die Funktionen bekommen dann sprechende Namen, die sich den Kommentaren sehr ähneln. Das macht meinen Kommentar dann überflüssig. Aus einem komplizierten Vorgang etwa entsteht so etwas:</p>
<pre><code>// mache dies
MacheDies();
// mache das
MacheDas();
</code></pre>
<p>Man erkennt, daß der Kommentar ursprünglich da war, um einen komplizierten Block zu erkären. Die Umstrukturierung macht den Kommentar überflüssig. Also war der Ansatz der Kommentierung schon falsch.</p>
<p>Daher meine Erkenntnis: Nicht kommentieren, was gemacht wird, sondern warum es gemacht wird. Was gemacht wird, sollte man durch lesbaren Code kommentieren. Warum es gemacht wird, kann ich algorithmisch nicht ausdrücken.</p>
<p>Und noch ein Wort zur ursprünglichen Frage: Wenn man den Code schreibt, weiß man am besten, warum man ihn macht. Später sind vieles Vermutungen. Daher sollten Kommentare gleich geschrieben werden. Das hilft auch beim sortieren der Gedanken und führt letzten endes zu besseren Code.</p>
<p>Tntnet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259791</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Thu, 05 Apr 2007 08:06:39 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 08:10:56 GMT]]></title><description><![CDATA[<p>Und bitte nicht Kommentare mit Dokumentation verwechseln. Kommentare sind eigentlich nur dann notwendig, wenn man einen Hack/Workaround einbaut.</p>
<p>EDIT: Argh! Quetscht sich wieder einer dazwischen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259792</guid><dc:creator><![CDATA[Apollon]]></dc:creator><pubDate>Thu, 05 Apr 2007 08:10:56 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 08:30:39 GMT]]></title><description><![CDATA[<p>Guter Code braucht keine Kommentare. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Weil wenn ich den Code lese, muß ich autom. interpretieren können, was er bedeutet. Ein kommentar ist einfach nur ein Interpretation des Codes. Eigentlich doppel-gemoppelt.</p>
<p>Manchmal sind aber Kommentare nötig, weil man selber nicht weiß, wie man den Code besser macht.</p>
<p>Was anderes ist eine Dokumentation des Codes. Hier muß ich sagen, hat die Eclipse-Guidline Recht: Funktionen die nicht dokumentiert sind, sind keine API-Funktionen.</p>
<p>D.h. wenn ich eine Library schreibe, muß ich auf jeden Fall alles dokumentieren, was für einen Library-User bestimmt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259802</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 05 Apr 2007 08:30:39 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 09:04:50 GMT]]></title><description><![CDATA[<p>Ich schreibe Kommentare, weil ich festhalten möchte, was ich mir in dem Moment dabei denke. Also ich schreibe gleich hin, was der Code meiner Absicht nach tuen soll.</p>
<p>So fällt mir die Fehlersuche leichter und das, was Marcus Refactoring nennt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259840</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 05 Apr 2007 09:04:50 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 09:08:51 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Guter Code braucht keine Kommentare. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Weil wenn ich den Code lese, muß ich autom. interpretieren können, was er bedeutet. Ein kommentar ist einfach nur ein Interpretation des Codes. Eigentlich doppel-gemoppelt.</p>
</blockquote>
<p>Hm, ich empfinde einen Kommentar als schlecht, wenn er den Code in natürlicher Sprache wiederholt (&quot;interpretiert&quot;). Ein für mich guter Kommentar erklärt z.B. welche Formel bei einer komplexen Berechnung zugrunde liegt oder gibt andere Infos wieder, die eben NICHT im Quellcode stehen.</p>
<p>Gibt aber auch Ausnahmen, wie z.B. die angesprochenen Funktionskommentare. Da ist es schon sinnvoll, wenn man dazuschreibt, wie die Parameter zu verwenden sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259845</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Thu, 05 Apr 2007 09:08:51 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 09:13:31 GMT]]></title><description><![CDATA[<p>Ein anderer Ansatz ist noch folgender:<br />
Bevor du eine Funktion schreibst, schreibst du ganz am Anfang erst mal einen kompakten Kommentar was du in der Funktion machen willst und wie du es tust. Dann codest du das erst und orientierst dich am Kommentar. Vorteil ist, dass man sich schon im Vorfeld *richtige* Gedanken macht und nicht gleich loscodet (und so merkt man auch oft schon was man evtl. besser machen kann).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259853</guid><dc:creator><![CDATA[nep]]></dc:creator><pubDate>Thu, 05 Apr 2007 09:13:31 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 09:28:15 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Guter Code braucht keine Kommentare. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Weil wenn ich den Code lese, muß ich autom. interpretieren können, was er bedeutet. Ein kommentar ist einfach nur ein Interpretation des Codes. Eigentlich doppel-gemoppelt.</p>
<p>Manchmal sind aber Kommentare nötig, weil man selber nicht weiß, wie man den Code besser macht.</p>
<p>Was anderes ist eine Dokumentation des Codes. Hier muß ich sagen, hat die Eclipse-Guidline Recht: Funktionen die nicht dokumentiert sind, sind keine API-Funktionen.</p>
<p>D.h. wenn ich eine Library schreibe, muß ich auf jeden Fall alles dokumentieren, was für einen Library-User bestimmt ist.</p>
</blockquote>
<p>Beim obersten Punkt stimm ich dir vollkommen zu, ich kommentiere auch recht sparsam, da der Code selbst schon das meiste sagt.</p>
<p>Aber ich finde man sollte alle Funktionen dokumentieren. Ich benutze doxygen für meine Dokumentation und hab einmal eine &quot;public&quot; Doku die die öffentliche Schnittstelle(n) beinhaltet und eine &quot;developer&quot; Doku die auch die privaten Funktionen und alles was dazu gehört mitdokumentiert.<br />
Oder hast du dich nur auf die öffentliche Doku bezogen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259864</guid><dc:creator><![CDATA[lolz_ausgeloggt]]></dc:creator><pubDate>Thu, 05 Apr 2007 09:28:15 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 09:33:28 GMT]]></title><description><![CDATA[<p>Library-User = Public = API<br />
Developer = Intern</p>
<p>Klar kann man für das Devteam noch dokumentieren. Aber mir ging es um die API. Man muß den Satz <em>&quot;Funktionen die nicht dokumentiert sind, sind keine API-Funktionen.&quot;</em> eher provokativ verstehen. Nach dem Motto &quot;Du willst mir erzählen, das diese Funktion hier zur API gehört, hast sie aber nicht dokumentiert???&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259869</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 05 Apr 2007 09:33:28 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 10:53:05 GMT]]></title><description><![CDATA[<p>ich bevorzuge eine kleine doku bevor ich irgendwas lesen will<br />
suche ich nach meinen grünen zeilen, halte an und sehe schon beim runterscrollen was es ist und was es macht.</p>
<p>ich muss 0 Zeilen quellcode lesen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259916</guid><dc:creator><![CDATA[Stelfer]]></dc:creator><pubDate>Thu, 05 Apr 2007 10:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to Besser später kommentieren? on Thu, 05 Apr 2007 11:06:52 GMT]]></title><description><![CDATA[<p>Ich tendier manchmal dazu, manche Bloecke (3 - 10 loc) mit einem Kommentar drueber zu versehen, der beschreibt was der Block tut. Zwar sieht man aus dem Block selber meistens auch, wozu er da ist, aber wenn ich den Code nur so ueberfliege gehts schneller, wenn ich nur den Kommentar durchlese, anstatt mich durch die ganzen Codezeilen durchdenk. Das sieht dann z. B. so aus:</p>
<pre><code class="language-php">def writeStats(outputDir):
	''' Writes all the statistics created so far, putting them into outputDir.'''

	dirs = _prepareDirectories(outputDir)

	# write games
	c = db.cursor()
	c.execute(&quot;SELECT id FROM games&quot;)
	games = c.fetchall()
	c.close()
	for data in games:
		try:
			gw = GameWriter(data[0], &quot;../style.css&quot;)
			gw.write(dirs[0], dirs[2])
		except Exception, e:
			logging.error(&quot;an unexpected error occured while writing the file for game no. &quot; 
				+ `data[0]` + &quot; (the file might not have been created)&quot;)
			logging.debug(`e`)
#			raise

	# write players
	c = db.cursor()
	c.execute(&quot;SELECT id FROM players&quot;)
	players = c.fetchall()
	c.close()
	for data in players:
		try:
			pw = PlayerWriter(data[0], &quot;../style.css&quot;)
			pw.write(dirs[1])
		except Exception, e:
			logging.error(&quot;an unexpected error occured while writing the file for player no. &quot;
				+ `data[0]` + &quot; (the file might not have been created)&quot;)
			logging.debug(`e`)

	# write indexfile
	players = [x[0] for x in players]
	games = [x[0] for x in games]
	_createIndexFile(&quot;style.css&quot;, outputDir, games, players)
</code></pre>
<p>Zwar koennte man die einzelnen Bloecke auch genauso gut in einzelne Funktionen auslagern, aber (z. B. auch in obigem Beispiel) lohnt sich dass nicht weil das eher zur &quot;Zerstueckelung&quot; von eigentlich zusammenengehoerigem Code beitragen wuerde, und deswegen nicht zur besseren Lesbarkeit beitragen wuerde, IMO.<br />
Den Grossteil an Kommentaren machen bei mir - wie bei dem meisten anderen hier anscheinend auch - allerdings die &quot;warum mach ich das auf diese Weise/ueberhaupt/an dieser Stelle/...&quot; - Kommentare aus.</p>
<p>Aber das Ganze geht jetzt wohl schon zu weit in Richtung &quot;Kommentierstil&quot;. Was die eigentliche Frage im Thread anging: Also mir passierts oefters, dass ich beim zweiten Lesen eines Kommentars den Kommentar nochmal komplett umschreib. Weil ich beim Zeitpunkt des Kommentierens mitten im Programmieren war und dann oft Dinge kommentiert habe, die im Nachhinein voellig offensichtlich waren, oder weil der Kommentar absolut keinen Sinn ergab (von Programmier- auf &quot;normale&quot; Sprache umschalten funktioniert bei mir manchmal nicht so gut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ). Waehrend des Programmierens hat man (oder hab zumindest ich) oft so einen Tunnelblick, was dazu fuehrt dass manche Kommentare eben einfach &quot;schlecht&quot; sind.<br />
Andererseits denk ich, dass manche Dinge wohl ueberhaupt unkommentiert blieben, wenn man den Code erst in einem zweiten Moment kommentieren wuerde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1259930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1259930</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Thu, 05 Apr 2007 11:06:52 GMT</pubDate></item></channel></rss>