Qu'entend-on par «talon de méthode généré automatiquement par TODO»? [fermé]

9

J'utilise eclipse pour la programmation Android, et de temps en temps je vois la déclaration, "TODO Auto-generated method stub."

Je comprends que ces méthodes ont été générées automatiquement par éclipse lors de la création de classes et d'autres activités de déclenchement, mais je ne comprends pas la nécessité de les mentionner partout.

Quelle est la nécessité de le mentionner partout à plusieurs reprises?


la source
1
vous pouvez changer le modèle dans Eclipse si vous ne l'aimez pas
DPM
3
Cette question semble être hors sujet car elle ne démontre pas une compréhension minimale de l'IDE utilisé.
Jim G.

Réponses:

9

TODO est l'un des nombreux mots clés par défaut qui indiquent les tâches à effectuer dans Eclipse. Sous windows-> Préférences-> Java-> Compilateur-> Balises de tâche, vous devriez voir ces mots clés. On pense ajouter un commentaire avec ce mot-clé pour indiquer automatiquement les choses qui restent à terminer, ce qui est pratique si vous utilisez ces balises de tâche.

Cependant, si vous ne les utilisez pas, vous devez modifier les modèles de code (Préférences-> Java-> Style de code-> Modèles de code) pour éliminer ces commentaires.

En particulier:

  • Code-> Corps de méthode
  • Code-> Corps constructeur
  • Code-> Catch block body
Neil
la source
5
C'est plus qu'Eclipse qui prend en charge les commentaires TODO - NetBeans, Visual Studio, JetBrains, et plus encore, fournit une fonctionnalité de liste de tâches qui extrait des commentaires de style TODO. De plus, cela ne répond pas à la question posée - qu'est-ce que le commentaire de style TODO signifie et comment il est utile.
Thomas Owens
2
Je préfère le comportement de Visual Studio (ReSharpers?) De génération de stubs qui, throw new NotImplementedException();car ils sont beaucoup plus difficiles à ignorer pour un oubli, qu'une méthode vide qui échoue silencieusement.
Dan Is Fiddling By Firelight
1
@ThomasOwens Il a nommé eclipse, pas NetBeans, Visual Studio, JetBrains et autres. De plus, c'est précisément ce que signifie TODO et comment il est utilisé.
Neil
1
@DanNeely J'aime ça aussi, c'est pourquoi mes modèles de code générés automatiquement dans Eclipse ressemblent à ceci:throw new UnsupportedOperationException("Auto-generated method stub"); // TODO Auto-generated method stub
Simon Lehmann
16

Eclipse crée uniquement des méthodes vides qui renvoient null (d'où "stub"). Les commentaires sont insérés pour rappeler au développeur qu'il voudra probablement faire quelque chose dans ces méthodes, sinon pourquoi devraient-ils exister? Vous êtes censé supprimer les commentaires lorsque vous avez fait cela.

Si vous voyez ces commentaires partout, alors (si les implémentations contiennent réellement) les développeurs sont paresseux ou croient que les commentaires ont un autre but et ne les suppriment donc pas, ou c'est une indication de conception faible, généralement des interfaces qui sont trop gros et ont des implémentations (et des utilisateurs) qui n'utilisent pas réellement toutes les méthodes de l'interface.

Michael Borgwardt
la source
7

De nombreux IDE, dont Eclipse, utilisent "TODO" dans un commentaire pour générer des listes de tâches. Ces listes de tâches incluent le texte du commentaire et le fichier et la méthode dans lesquels le commentaire se trouve. Cela permet à tous ceux qui utilisent un outil doté de cette fonctionnalité de générer des listes de choses qui sont encore ouvertes. Il existe également d'autres identificateurs communs, comme FIXME ou XXX, qui ont des fonctionnalités similaires dans certains IDE. Cette question sur Stack Overflow concerne les mots-clés de commentaire dans Eclipse et fournit des informations supplémentaires.

Lorsque vous générez automatiquement certaines fonctions, vous devez insérer votre propre implémentation. Il ajoute le stub approprié pour que votre code soit compilé, mais ajoute les commentaires pour que vous puissiez trouver rapidement les méthodes qui doivent être implémentées. Notez que certaines fonctions générées automatiquement, comme les fonctions générées automatiquement toStringet hashcodene contiennent pas ces commentaires, car il n'est pas prévu que vous les modifiez.

Il existe des moyens de désactiver leur insertion en modifiant les modèles utilisés pour créer du code généré automatiquement, si cela vous dérange autant. Cependant, ils sont utiles. Une simple recherche dans votre base de code pour des choses comme TODO et FIXME peut être la base d'une liste de tâches si elles sont associées à un commentaire décent sur ce qui doit être fait, en particulier sur les petits projets.

Thomas Owens
la source
4

TODO signifie simplement "A FAIRE", le talon est généré mais le développeur ou le programmeur doit ajouter du code selon les besoins.

user42588
la source