B
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:
def writeStats(outputDir):
''' Writes all the statistics created so far, putting them into outputDir.'''
dirs = _prepareDirectories(outputDir)
# write games
c = db.cursor()
c.execute("SELECT id FROM games")
games = c.fetchall()
c.close()
for data in games:
try:
gw = GameWriter(data[0], "../style.css")
gw.write(dirs[0], dirs[2])
except Exception, e:
logging.error("an unexpected error occured while writing the file for game no. "
+ `data[0]` + " (the file might not have been created)")
logging.debug(`e`)
# raise
# write players
c = db.cursor()
c.execute("SELECT id FROM players")
players = c.fetchall()
c.close()
for data in players:
try:
pw = PlayerWriter(data[0], "../style.css")
pw.write(dirs[1])
except Exception, e:
logging.error("an unexpected error occured while writing the file for player no. "
+ `data[0]` + " (the file might not have been created)")
logging.debug(`e`)
# write indexfile
players = [x[0] for x in players]
games = [x[0] for x in games]
_createIndexFile("style.css", outputDir, games, players)
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 "Zerstueckelung" von eigentlich zusammenengehoerigem Code beitragen wuerde, und deswegen nicht zur besseren Lesbarkeit beitragen wuerde, IMO.
Den Grossteil an Kommentaren machen bei mir - wie bei dem meisten anderen hier anscheinend auch - allerdings die "warum mach ich das auf diese Weise/ueberhaupt/an dieser Stelle/..." - Kommentare aus.
Aber das Ganze geht jetzt wohl schon zu weit in Richtung "Kommentierstil". 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 "normale" Sprache umschalten funktioniert bei mir manchmal nicht so gut ). Waehrend des Programmierens hat man (oder hab zumindest ich) oft so einen Tunnelblick, was dazu fuehrt dass manche Kommentare eben einfach "schlecht" sind.
Andererseits denk ich, dass manche Dinge wohl ueberhaupt unkommentiert blieben, wenn man den Code erst in einem zweiten Moment kommentieren wuerde