2010-01-01 6 views
22

Seit vielen Jahren war mein Code voll diese Art von Kommentaren:Wie man @todo Programmierungskram verwaltet?

//TODO : Add ... 
... 
/* 
*TODO : Fix ... 
* 
*/ 

Jetzt denke ich, meine eigene @todo javadoc Anmerkung zu schaffen ... aber bevor tun, dass ich wissen wollen, ob es euch besseren Weg zu verwalten Ihre todo Programmierung Zeug?

+3

Dies kann sprachunabhängig sein ... –

+0

Anmerkungen sind keine Sprache agnostic ... – TofuBeer

+0

@Martinho & TofuBeer: Es ist Quellcode Kommentar ... in den meisten Fällen ist es eng an der Sprache ... aber in "multilangage" Projekte eine agnostische Lösung wie die IDE kann sehr gut sein ... –

Antwort

46

Ihre IDE (Eclipse NetBeans, ..) eine Aufgaben-Plugin, das alle TODO s erkennt und zeigt sie in einer Liste an. In Eclipse ist es Window > Show View > Other > Tasks

Keine Notwendigkeit, Ihre eigene Anmerkung zu schreiben.

+0

In NetBeans ist es Action Items –

2

Für kleine Aufgaben wie meine übliche // todo verwende ich lokale Aufgaben in Eclipse Mylyn, für größere Aufgaben (auch wenn ich denke, dass diese Funktionen oder Fehler genannt werden) verwende ich Trac; Wenn Sie Ihren Code voller TODOs finden, ist es Zeit, ein Ticket-Management-System zu bekommen.

4

Für vim gibt es auch dieses Skript , inspiriert von Eclipse Aufgabenliste, die für TODO, FIXME usw. in Ihren Textdateien kratzt und zeigt sie als Liste in einem zusätzlichen Puffer (siehe screenshot).

+0

Ich wusste nicht, dass das existiert. Vielen Dank! –

10

Ich verwende grundsätzlich drei Systeme für verschiedene Arten von TODO Artikel:

  • Papier Notizblock für kurzfristige Gegenstände (wie heute oder diese Woche)
  • TODO Kommentare und IDE-Unterstützung (zB Eclipse Ansicht Aufgaben) für kleinere, längerfristige Posten
  • Issue tracker wie Trac Plus IDE-Unterstützung (zB Mylyn) für komplexere, längerfristige Posten
+1

+1 für den Issue Tracker (und das Papier!) –

2

Vielleicht kann man für den Schlüssel zu suchen, finden und grep Wörter in Ihren Projekten

2

Problem mit Todo-Flags ist das gleiche wie mit Warnungen (z. Java-Compiler, Checkstyle). Wenn sie zu oft erscheinen, werden Sie sie ignorieren. In Ihrem Fall würde ich sie durch einen Bericht von einem Build-System (z. B. Maven oder Ameise) verfolgen. Am Ende jeder Iteration sollten Sie eine Regel machen, dass die Anzahl der Todo-Flags abnimmt.

weniger todo-Flaggen bedeutet:

  • sie
  • löschen sie zu lösen, weil sie veraltet bekam (was oft geschieht, wenn Sie nie aufräumen Code)

Regel nicht todo verwenden Sie Flags für alle Aufgaben. Für mich sind es nur kleine Erinnerungen oder Refactorings-Todos. größere Aufgaben sollten immer von einem Ticket-System (wie trac oder jira) verfolgt werden.

+1

Wir haben ein Plug-In für Hudson verwendet, das die TODOs im Laufe der Zeit zeigte - es ist öffentlich und sichtbar, dh es gibt mehr Antrieb, es im Laufe der Zeit zu reduzieren. – SteveD

4

Vielleicht kann Doxygen Ihnen helfen?

Doxygen erkennen diese /// @ TODO: s und erstellt eine Liste mit ihnen.

Und da Doxygen Kommentare im Javadoc-Stil verwenden kann, denke ich, dass es leicht ist, es zu versuchen.

1

Wenn deine TODO-Anweisungen dich so sehr nerven und dir so viel Angst machen, wenn ich sie sehe, schreibe ich ein kleines Skript in den Build-Prozess, der die Kompilierung erkennt und fehlschlägt.Sollte es auf die gleiche Weise fehlschlagen wie bei Warnmeldungen.

2

Ich benutze FIX! anstelle von TODO. Die Anzahl der Ausrufezeichen gibt die Priorität an. IntelliJ lässt Sie benutzerdefinierte Filter für diese einrichten, so dass ich Level-3 "FIX !!!" Kommentare und diese angehen.

3

Ich würde keine @todo Javadoc Annotation verwenden, weil IMO es sollte nicht in die Dokumentation gehen.
Dokumentation sollte public sein, nicht ideal für TODOs.
TODOs sollten auch in die Nähe des Codes gehen, auf den sie sich beziehen, ein Vorteil der Verwendung von Kommentaren.

2

Wenn Sie Maven verwenden, können Sie die taglist-maven-plugin verwenden, um die Quelldateien nach Tags zu durchsuchen (jedes gewünschte Tag, das ist konfigurierbar) und generiert a report für ihre Vorkommen.

Das Taglist Maven Plugin einen Bericht über verschiedene Tags im Code, wie @todo oder //TODO Tags

Aber Tracking-Tags ihnen ist der einfache Teil ist härter etwas gefunden erzeugt, Befestigungstechnik, mehr Zeit in Anspruch nimmt :)

+0

+1: Ich säe nur einen Beispielbericht: wirklich interessant !! –

19

TODO Aussagen bergen das Risiko für immer in dem Code gelassen zu werden, was schlecht ist, weil // TODO elaborate answer

+4

Es ist besser als das eigentliche Problem/Problem in den Code für immer –

+0

@OliverWatkins verlassen Ich stimme zu. TODO hat mindestens zwei Vorteile: Es identifiziert etwas als ausstehendes Problem, und es ist einfach zu suchen. Trotzdem habe ich Dutzende von TODO-Kommentaren gesehen, die von ihren Autoren nie "gelöst" wurden. Für mich ist das nur unvollendete Arbeit. –

+1

Normalerweise schreibe ich eine Ticketnummer neben TODO, damit jeder, der bei einer anderen Aufgabe auf den Code stolpert, sehen kann, welche technischen Schulden an diesem Ort vorhanden sind. Es erleichtert die Analyse, wie sich dies auf den Abschluss der Aufgabe auswirken kann (z. B. dass Sie diese technische Schuld erfüllen müssen oder dass Ihre Aufgabe möglicherweise viel schwerer als erwartet abgelehnt wird).Wenn im Code keine TODOs enthalten sind, sind Ihnen technische Schulden, die Sie bei der Erfüllung bestimmter geschäftlicher Anforderungen abgeschlossen haben, möglicherweise nicht bekannt. – user3707125

0

TODO ist in einem kleinen Team in Ordnung, aber wenn Sie Open-Source-Projekt oder den Entwicklerzugriff in irgendeiner Weise erweitern, müssen die anderen Varianten wie TO_DO, fixme, XXX, NOTE, HACK, bug, "your_defect_tool_here" usw. scannen für sowieso. Ein bisschen Schwergewicht, aber mein TODO Protokoll würde wie folgt aussehen:

ERLEDIGEN: yy-mm-dd: Autor: your_comment

schließlich den Kommentar machen Sie strategische tun lassen, keine Design-Statement oder Meinung.