Was ist mit "TODO Auto-Generated Method Stub" gemeint? [geschlossen]

9

Ich benutze Eclipse für die Android-Programmierung und hier und da sehe ich die Anweisung "TODO Auto-generierter Methodenstub".

Ich verstehe, dass diese Methoden beim Erstellen von Klassen und anderen Trigger-Aktivitäten automatisch durch Eclipse generiert wurden, aber ich verstehe nicht, dass sie überall erwähnt werden müssen.

Was ist die Notwendigkeit, es überall wiederholt erwähnen zu lassen?


quelle
1
Sie können die Vorlage in Eclipse ändern, wenn Sie es nicht mögen
DPM
3
Diese Frage scheint nicht zum Thema zu gehören, da sie kein minimales Verständnis der verwendeten IDE zeigt.
Jim G.

Antworten:

9

TODO ist eines von mehreren Standardschlüsselwörtern, die Aufgaben angeben, die in Eclipse ausgeführt werden sollen. Unter Windows-> Einstellungen-> Java-> Compiler-> Task-Tags sollten diese Schlüsselwörter angezeigt werden. Es wird davon ausgegangen, dass Sie mit diesem Schlüsselwort einen Kommentar hinzufügen, um automatisch anzuzeigen, welche Aufgaben noch zu erledigen sind. Dies ist praktisch, wenn Sie diese Task-Tags verwenden.

Wenn Sie sie jedoch nicht verwenden, sollten Sie die Codevorlagen (Einstellungen-> Java-> Codestil-> Codevorlagen) ändern, um diese Kommentare zu entfernen.

Speziell:

  • Code-> Methodenkörper
  • Code-> Konstruktorkörper
  • Code-> Fangblockkörper
Neil
quelle
5
Es ist mehr als nur Eclipse, das TODO-Kommentare unterstützt - NetBeans, Visual Studio, JetBrains und mehr bieten auch Aufgabenlistenfunktionen, die aus Kommentaren im TODO-Stil extrahiert werden. Darüber hinaus beantwortet dies nicht die gestellte Frage - was der Kommentar im TODO-Stil bedeutet und wie wertvoll er ist.
Thomas Owens
2
Ich bevorzuge das Verhalten von Visual Studio (ReSharpers?), Stubs zu throw new NotImplementedException();generieren, die für einen Vergessenen viel schwerer zu ignorieren sind als eine stillschweigend fehlgeschlagene leere Methode.
Dan spielt am Feuer
1
@ThomasOwens Er nannte Eclipse, nicht NetBeans, Visual Studio, JetBrains und andere. Darüber hinaus bedeutet TODO genau, wie es verwendet wird.
Neil
1
@ DanNeely Ich mag das auch, deshalb sehen meine automatisch generierten Codevorlagen in Eclipse so aus:throw new UnsupportedOperationException("Auto-generated method stub"); // TODO Auto-generated method stub
Simon Lehmann
16

Eclipse erstellt nur leere Methoden, die null zurückgeben (daher "stub"). Die Kommentare werden eingefügt, um den Entwickler daran zu erinnern, dass er wahrscheinlich etwas in diesen Methoden tun möchte. Warum sollten sie sonst existieren? Sie sollten die Kommentare löschen, wenn Sie das getan haben.

Wenn Sie diese Kommentare überall sehen, sind die Entwickler entweder (wenn sie tatsächlich Implementierungen enthalten) faul oder glauben, dass die Kommentare einen anderen Zweck haben und sie daher nicht löschen, oder es ist ein Hinweis auf ein schwaches Design, das normalerweise mit diesen in Verbindung steht sind zu groß und haben Implementierungen (und Benutzer), die nicht alle Methoden in der Schnittstelle verwenden.

Michael Borgwardt
quelle
7

Viele IDEs, einschließlich Eclipse, verwenden "TODO" in einem Kommentar, um Aufgabenlisten zu generieren. Diese Aufgabenlisten enthalten den Text des Kommentars sowie die Datei und Methode, in der sich der Kommentar befindet. Auf diese Weise kann jeder, der ein Tool mit dieser Funktion verwendet, Listen mit noch offenen Dingen erstellen. Es gibt auch einige andere gebräuchliche Bezeichner wie FIXME oder XXX, die in einigen IDEs ähnliche Funktionen haben. In dieser Frage zum Stapelüberlauf werden die Kommentarschlüsselwörter in Eclipse abgefragt und einige zusätzliche Informationen bereitgestellt.

Wenn Sie einige Funktionen automatisch generieren, wird erwartet, dass Sie Ihre eigene Implementierung einfügen. Es fügt den entsprechenden Stub hinzu, damit Ihr Code kompiliert wird, fügt jedoch die Kommentare hinzu, damit Sie schnell Methoden finden können, die implementiert werden müssen. Beachten Sie, dass einige automatisch generierte Funktionen wie automatisch generiert toStringund hashcodeFunktionen enthalten nicht diese Kommentare , weil es nicht erwartet wird, dass Sie sie ändern werden.

Es gibt Möglichkeiten, das Einfügen dieser zu deaktivieren, indem Sie die Vorlagen bearbeiten, die zum Erstellen von automatisch generiertem Code verwendet werden, wenn Sie dies so sehr stört. Sie sind jedoch nützlich. Das einfache Durchsuchen Ihrer Codebasis nach Dingen wie TODO und FIXME kann die Grundlage einer Aufgabenliste sein, wenn sie mit einem anständigen Kommentar darüber verbunden sind, was zu tun ist, insbesondere bei kleineren Projekten.

Thomas Owens
quelle
4

TODO bedeutet einfach "TO DO", Stub wird generiert, aber Entwickler oder Programmierer müssen nach Bedarf Code hinzufügen.

user42588
quelle