Freitag, 23. Januar 2009

// TODO: Liste

Mir ist vorhin aufgefallen, dass ich wirklich viele TODO Kommentare in meinen Sourcen verwende.

Beispiel:
// TODO: Free Resources

Nervig wird es dann, wenn man mal ein paar erledigen möchte - denn die müsste ich dann erstmal überall zusammensuchen. Schön wäre eine Liste die mir gleich alle Vorkommnisse, inklusive Dateinamen, Zeilennummer und Inhalt anzeigt. Also hab ich mal ein kleines Skript zusammengehax0rt welches genau das tut für mich. So sieht die Ausgabe aus:

control.h, 161  : Remove this later
prog.h, 7 : Implement error handling. Exceptions and Assertions.
prog.h, 57 : This is a temporary solution.
prog.h, 61 : Make a ref counter for destroying this
test.cpp, 151 : Free Resources Here */
test.cpp, 182 : Make this dynamic
test.cpp, 188 : Free resources

Und das alles (praktisch) mit einer einzigen Zeile:
#/bin/bash
egrep -n 'TODO' src/*.{h,cpp} | \
perl -pe 's#(?:src/)+(.+):+([0-9]+):+.*TODO:?\s?(.+)$#"\1" \2 "\3" #g' | \
xargs printf '%20s, %-4d : %s\n'

Ist das nicht genial? Der blaue Part sollte angepasst werden. :-)

Keine Kommentare:

Kommentar veröffentlichen