Comment suivez-vous les TODO de votre programmation?

Je suis une de ces personnes qui ne peuvent rien faire sans une liste de choses à faire. Si ce n’est pas sur la liste, elle n’existe pas.

Méthode du bloc-notes:

Quand je programme, j’ai gardé le bloc-notes ouvert avec une liste de tâches à accomplir pour mon projet actuel. Je réorganiserai constamment ces éléments en fonction de la priorité et je les recouperai et les déplacerai vers la section terminée lorsque j’aurai fini cette tâche particulière.

Commentaires sur le code:

Certains programmeurs diffusent le code source de leurs projets avec:

// TODO: Fix this completely atrocious code before anyone sees it 

De plus, je sais que certains outils vous montrent également une liste de tous les TODO dans votre code.

Site Task Tracker:

  • Rappelez-vous le lait
  • Sac à dos
  • Manymoon
  • Voo2do
  • Tâches Gmail
  • TeuxDeux
  • TodoDodo
  • Ta-da listes … et beaucoup plus

Comment trouvez-vous la meilleure méthode pour garder une trace de vos listes de tâches pour plusieurs projets?

Comme d’autres, je leur parle de mon code, mais j’utilise la directive d’avertissement pour générer un avertissement du compilateur aussi:

 #warning TODO: Implement foobar 

De cette façon, je peux toujours chercher “TODO” mais ils me crient aussi quand je construis.

Stylo et papier.

Combiné avec le génial PocketMod , c’est totalement parfait. Les TODO frappants sont tellement satisfaisants!

Je ne peux pas parler pour d’autres IDE, mais Eclipse recherchera les commentaires de TODO (ainsi que FIXME et XXX par défaut) dans les fichiers sources de votre projet et créera des tâches dans la vue des tâches.

Cela conduit à des situations insortinggantes où vous vérifiez la vue des tâches, double-cliquez sur une tâche TODO et lisez le commentaire:

 // TODO: Add this functionality. 

Eclipse appenda également des commentaires TODO lors de la génération de certains blocs de code, tels que des implémentations de méthode, des blocs catch pour des exceptions, etc.

Les commentaires TODO (et autres) sont excellents avec Visual Studio et ReSharper installés:

To-Do Explorer http://www.jetbrains.com/resharper/features/screenshots/40/navigation_todoexplorer.png

Bien que je ne l’aie pas essayé, j’aime beaucoup l’idée de tests en tant que todos . Quoi d’autre devrait vous faire avancer si pas un test échoué?

NextAction , à partir de TimeSnapper

Abstrait personnel Todos

J’utilise des notes ou du papier Tomboy pour faire une liste rapide des tâches abstraites de haut niveau. Souvent, lorsque je suis au téléphone avec mon responsable, je dois simplement mettre les choses par écrit.

Code source spécifique à Todos

J’utilise le marqueur de commentaire en ligne TODO: / @todo dans mon code, puis j’utilise les plugins Netbeans qui me donnent une liste de tâches en cours tout au long du projet. Étant donné que Netbeans peut agréger des marqueurs de todo à partir de plusieurs projets, le nombre de projets différents exécutés ne fait aucune différence.

Tâches Multiperson / Todos

Une fois que je dois garder la trace des todos pour plus que moi, je passe à un logiciel de gestion de projet comme OpenProj, MS Project, etc. De plus, si les todos impliquent des bogues ou des demandes de fonctionnalités, D’autres outils peuvent également être gérés par un système d’assistance.

J’utilise ToDoList de AbstractSpoon. Il vous permet de diviser votre liste de tâches en projets et peut même être utilisée par un certain nombre d’utilisateurs pour des projets plus importants utilisant un lecteur réseau partagé.

J’utilise Pen and Paper pour noter des notes. J’utilise également les balises TODO / FIXME dans un code surligné en jaune dans Vim et suivi par l’extension TODO dans Komodo.

L’un des ajouts les plus utiles pour moi a été d’utiliser Samurize pour intégrer un fichier texte sur mon bureau ( http://lifehacker.com/software/plain-text/geek-to-live–incorporate-text-files-onto -your-desktop-213280.php ). J’ai 3 bureaux virtuels et il se trouve sur mon bureau de messagerie, où je me retrouve en première ligne chaque matin. Il contient un fichier texte contenant les éléments que je dois faire et il est rarement exécuté plus d’une semaine à l’avance.

Mercredi 2/11/2009
– Objet 1
– article 2
Jeudi 2/12/2009
– article 3

J’utilise Executor qui a un mot-clé “todo” qui ouvre automatiquement gvim avec ce fichier lorsque je veux éditer / append / supprimer des éléments. Cela fait environ 3 frappes pour le rendre ouvert et prêt à modifier. Cela m’aide à me rappeler que la production du lundi matin se déroule avant que je ne sois enterré dans le courrier électronique et les réunions. Dès que je modifie, cela se reflète sur le bureau.

Evidemment, pour des choses plus longues et plus détaillées, je compte sur Roundup, les rappels Outlook, etc., mais cela a été un moyen pratique de noter les choses pour qu’elles ne soient pas perdues dans le mélange.

J’utilise TODO en ligne: les commentaires que Visual Studio va suivre pour moi, bien sûr, je dois toujours regarder la liste des tâches pour les voir. Je ne peux pas compter le nombre de fois que j’ai trouvé un TODO: commentaires en passant en revue un code que je pensais être complet.

Pour chaque tâche dans un projet, je crée une nouvelle entrée dans le suivi des problèmes ( Bugzilla pour moi).

  • Un grand avantage est que vous pouvez suivre chaque modification apscope par l’ID de problème.
  • Vous pouvez signaler aux clients ou aux membres du projet le statut de votre tâche.
  • Vous pouvez créer un nouveau type de bogue comme “tâche”, “todo” ou “feature-request”.
  • C’est une solution centrale. Pas de truc local …

Dans notre équipe de développement, il existe une règle qui dit: “Ne changez jamais de code sans une entrée correspondante dans le suivi des problèmes. Jamais!”

Je ferais une nette différence entre FIXME et TODO. FIXME est critique et doit être corrigé avant la validation / publication. TODO peut vivre un peu plus longtemps mais doit être nettoyé par la suite.

Un simple fichier texte en clair (TODO) au niveau supérieur de la zone cvs / svn du projet fonctionne pour moi pour des projets simples.

Comme d’autres l’ont mentionné, j’utilise le standard FIXME / TODO / XXX dans mes commentaires de code, puis je peux trouver la liste des tâches dans mon IDE à l’aide de leurs différents outils. J’utilise aussi le plug-in de scanner de tâches de hudson pour suivre tout, puisque je suis un aspirant pour les graphiques.

J’ai créé une tâche de construction qui sélectionne // TODO: les lignes de mes fichiers de code et génère un rapport que j’inclus dans team city. Cela vous permet de voir rapidement les encours d’un projet sans avoir à les vérifier.

vous pouvez également utiliser le CodeTagsPlugin avec Trac

Lorsque vous programmez Java dans Eclipse, je le trouve très utile, comme vous le dites, “pepper mon code source avec // TODO: comments – principalement parce que Eclipse recherche chacun dans le projet et comstack une liste de tâches pour moi =) Dans Visual Studio , il y a un panneau Liste des tâches que j’utilise parfois, mais je ne le trouve pas aussi simple que d’avoir les commentaires dans Eclipse.

J’utilise eclipse comme IDE, qui collecte tous les TODO dans une liste et les affiche dans un plan. Très facile et utilisable.

Après avoir effectué une recherche approfondie pour une application “à faire”, je me suis installé sur mylyn – celui fourni avec Eclipse.

Il est facile de créer et de gérer des tâches. Les tâches peuvent être imscopes et liées à Bugzilla ou à plusieurs autres référentiels de tâches. Il a également un “contexte de tâche” qui permet de mettre en évidence les fichiers pertinents pour une tâche et ceux qui ne sont pas pertinents (ce qui est beaucoup plus utile que prévu).

Eclipse suit votre TODO et les répertorie automatiquement dans une fenêtre appropriée. Je le trouve assez puissant si vous n’avez pas besoin de fonctionnalités avancées.

J’aime beaucoup les pistes . Il a la saveur de GTD sans en être trop régimenté.

Je peux rapidement renvoyer des choses là-dedans lorsque j’y pense, et ne plus avoir à me soucier d’oublier après cela.

Wow, j’ai juste eu cette question hier. Après quelques recherches, je me suis installé sur l’extension Firefox de ReminderFox . Il est complètement intégré au navigateur et comporte des fenêtres contextuelles pour vous rappeler chaque fois que vous ouvrez votre navigateur lorsqu’une tâche est due.

J’aime beaucoup Mylyn : intégré à Eclipse, travaille avec de nombreux trackers ainsi que sans (tâches locales) et réalise de nouveaux concepts comme l’interface utilisateur ciblée.

Il existe également un plug-in de scanner de tâches pour Hudson (au cas où il s’intégrerait dans votre environnement). Avec cela, vous pouvez suivre le nombre de TODO / FIXME sur vos rapports de build d’continuous integration.

alt text http://www.86th.org/hudson.jpg Nous utilisons la fonctionnalité “Open Tasks Trend” dans Hudson, cela fonctionne pour un grand nombre de langues. Pour notre projet C #, nous avons 3 niveaux de tâches et ceci est accompli par différents commentaires TODO: style.

  • Correspondances haute priorité sur FIXME:, HARDCODED: ou HACK:

  • Matches prioritaires sur TODO:

  • Correspondances à faible priorité sur MEH: ou CODEREVIEW:

Hudson prendra alors cette liste et ce graphique de tendance comme indiqué dans l’image, ainsi qu’une liste sortingable et filtrable des tâches et affichera les messages sur la page Web avec des liens qui vous amèneront directement à la ligne dans le menu. code source sur Hudson.

De plus, nous pouvons facilement configurer des points d’intérêt pour les revues de code avec CODEREVIEW: et avoir une belle liste concise à imprimer.

J’utilise Sandglaz et je place mes todos dans 3 colonnes, maintenant et après (un peu comme leur blog , mais une seule ligne) … et c’est facile et rapide à utiliser. Je suis pigiste donc je travaille sur plusieurs projets à la fois donc ça marche pour moi

J’utilise les tests en attente uniquement pour me rappeler d’écrire des tests. J’utilise Rspec, donc c’est ce qui le construit.

Pour les projets C ++ (natif / ATL):

 #ifndef _TODO_H_ #define _TODO_H_ #pragma once // from atldef.h: #ifndef _ATL_STRINGIZE #define __ATL_STRINGIZE(_Value) #_Value #define _ATL_STRINGIZE(_Value) __ATL_STRINGIZE(_Value) #endif // put x in quotes, no need to use #pragma! #define __TODO(x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : TODO: "x)) #define __WTF(x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : WTF?! "x)) // prefer to use ISO-formatted date #define __BUGFIX(date, x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : BUGFIX: "#date" "x)) #define __CHANGE(date, x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : CHANGE: "#date" "x)) #endif _TODO_H_ 

Vous cherchez quelque chose comme ça pour C #.

doxygen peut suivre ces problèmes

Un de nos modules de code source est absolument encombré de lignes de #pragma todo ligne. La sortie de compilation est polluée, donc nous ne pouvons jamais vraiment savoir quand il y a de nouveaux avertissements du compilateur. Certains des todos sont là depuis des années et le développeur d’origine a depuis longtemps quitté l’entreprise.

J’utilise emacs org-mode pour suivre non seulement les TODO de code, mais toute ma vie. Il fonctionne comme un outil extrêmement puissant avec certaines fonctionnalités de tableur et de calendrier. J’utilise mercurial pour la gestion des versions légères et la réplication simple entre différents usinages.

Cela fonctionne étonnamment bien.

Quand j’ai beaucoup de todos, j’ai découvert qu’il était inutile de les suivre. Vous vous retrouvez avec des centaines de todos qui ne peuvent être faits.

N’écrivez que ce qui vous est demandé (patron) et faites ce qui apporte les plus gros avantages au quotidien.

J’ai cependant une liste suivante. J’ai écrit ce que je fais actuellement au sumt et des choses que je dois corriger pour le compléter. Ma prochaine liste peut être faite en heures ou en jours.