Comment suivez-vous les bugs dans vos projets personnels? [fermé]

45

J'essaie de décider si j'ai besoin de réévaluer mon processus de suivi des défauts pour mes projets développés localement. Depuis quelques années, je ne fais que suivre les défauts en utilisant des TODObalises dans le code et les garder dans une vue spécifique (j'utilise Eclipse, qui dispose d'un système de marquage correct).

Malheureusement, je commence à me demander si ce système est insoutenable. Les défauts que je trouve sont généralement associés à un extrait de code sur lequel je travaille; les bugs qui ne sont pas immédiatement compris ont tendance à être oubliés ou ignorés. J'ai écrit une demande pour ma femme qui souffrait d'un grave défaut depuis près de 9 mois et j'oublie toujours de le réparer.

Quel mécanisme utilisez-vous pour repérer les défauts dans vos projets personnels? Avez-vous un système spécifique ou un processus pour les hiérarchiser et les gérer?

sommeil
la source
Découvrez todo.ly
Job
1
Cela pourrait être sur la ligne comme une question que la FAQ considère hors sujet. "Quelle technologie est meilleure?"
Jzd
Trello est un excellent outil pour ce genre de choses, et c'est gratuit.
Gahooa

Réponses:

25

Fogbugz (licence individuelle gratuite) s'il s'agit d'un projet long ou d'une simple liste de tâches à effectuer (à l'aide des tâches Google)

Amit Wadhwa
la source
7
Agréable. Je n'avais pas réalisé que FogBugz avait une version gratuite (appelée Student and Startup Edition, pour ceux qui le recherchaient).
Eric King
D'un simple coup d'œil, ça a l'air très intéressant
bedwyr
Après avoir utilisé FogBugz, je ne vois pas comment quelqu'un préfère quelque chose de différent. Afin de ne pas avoir à suivre plusieurs comptes fogbugz, je viens de créer un fogbugz personnel pour moi: earlz.fogbugz.com
Earlz,
17

J'utilise généralement un système de contrôle de révision basé sur le Web (Github, Bitbucket, Redmine, Google Code, ...) pour stocker mon code source et suivre les bogues. Si vous pensez qu'il y a un bogue dans un code spécifique, vous pouvez créer un problème avec le numéro de révision / changelist / changeset et spécifier le fichier et la plage de lignes que vous suspectez.

Thierry Lam
la source
8

J'avais l'habitude d'utiliser une feuille de calcul / un fichier texte par projet (les commentaires dans le code ne sont pas adaptés aux raisons que vous énumérez; ils sont locaux par rapport au code, et si un problème persiste, il a tendance à passer inaperçu. fissures).

Récemment, j'ai configuré un serveur Redmine sur mon réseau domestique. C'est un peu lourd pour une "équipe" de 1, mais je travaille sur pas mal de projets sur mon propre temps, et j'ai tendance à utiliser simplement les options Issue Tracker + Repository avec peut-être la page de wiki étrange dans des endroits plus complexes.

Un de mes amis ne jure que par Pivotal Tracker aux mêmes fins, mais mon employeur actuel utilise Redmine en interne. J'ai donc pensé que cela me donnerait un peu de pratique. Ce n'est pas mauvais.

Pour les projets open source, j'utilise simplement le suivi des problèmes de GitHub.

Inaimathi
la source
Les commentaires à faire dans le code fonctionnent mieux si ce sont des annotations Doxygen / similaires, tant que vous les construisez régulièrement. Vous obtenez la liste collectée des tâches (et des bogues) dans les documents générés. Manque les options de rapport flexibles d'un traqueur de bogues dédié, évidemment, et vous n'allez pas rechercher d'anciens bogues (supposés) résolus dans votre référentiel lorsque les annotations sont supprimées de la version actuelle, mais cela peut fonctionner assez bien pour de petites mises à jour. projets simples.
Steve314
7

En fait, j'ai installé le système Free MANTIS bugtracker sur mon serveur Web hébergé (que j'utilise pour un blog et d'autres choses) et j'y ai mis tous mes défauts.

En d'autres termes, je gère mes affaires comme si elles étaient professionnelles et payées.

Je trouve que cela aide à garder un meilleur état d'esprit (éliminer les défauts, etc.) et à être cohérent (avec les autres) des autres pratiques couramment utilisées dans l'industrie.

Utilisez également les notes TODO dans le code, etc., mais uniquement pour les notes comme: "un jour, je dois rendre cela plus efficace, la sorte de bulle nuit à la performance". Ou pour des notes plus immédiates sur l'endroit où vous vous êtes levé pour le dîner :)

Rapidement
la source
J'ai utilisé MANTIS et c'est génial!
Job
5

Nous utilisons JIRA sur mon lieu de travail et j'en suis un grand fan. Il y a beaucoup de produits et de personnes impliqués et tout se passe bien.

PatrickJ
la source
+1 Jira est de loin le meilleur système de suivi des problèmes que j'ai rencontré. Facile à utiliser, utilisez progressivement des fonctionnalités plus avancées si nécessaire. Assez amical, même pour les utilisateurs non techniques, pour signaler et suivre les problèmes.
Maglob
Un autre éloge. Jira est un outil fortement "exothermique", qui donne plus que ce que vous avez mis, ce qui déclenche un cycle de rétroaction positif :)
Maglob
4

Je recherchais une réponse à cette question il y a quelque temps et ai depuis mis au point un système très soigné et simple, qui répond à ces objectifs clés pour moi:

Objectifs par ordre d'importance:

  1. Permettez qu’il soit possible de saisir une nouvelle tâche / un bogue aussi facilement que possible, afin que je puisse la noter dès que je la vois ou que je l’imagine, et reprendre le codage avant que je ne perde ma place.
  2. Facilitez la visualisation et la gestion des problèmes sans beaucoup de recherche, de clic, d’exploration.
  3. Associez-vous facilement au contrôle de version pour que je puisse ultérieurement savoir quelles modifications ont été apportées pour résoudre un problème, ou quelle tâche ou quel bug a provoqué une modification spécifique du code.
  4. Rendez-le relativement facile à configurer: installation et configuration minimales et prix minimal.

(3 et 4 sont moins importants, et j'aurais été d'accord avec un système qui ne les fournissait pas, mais celui-ci le fait).

Étape 1: Obtenir un projet dans Bitbucket

J'utilise bitbucket pour le suivi des problèmes et le contrôle de version git (pour un projet iOS sous XCode, par exemple). J'ai regardé FogBUGz (dont je lis depuis des années sur JoelOnSoftware) et GitHub et d'autres, mais bitbucket semble offrir les meilleures fonctionnalités gratuites pour les petites équipes.

Étape 2: Utiliser le suivi des problèmes Bitbucket dans le projet

Ensuite, je configure le suivi des problèmes dans le même projet bitbucket. Donc, mon projet a maintenant un dépôt git et un suivi des problèmes.

Étape 3: simplifiez le suivi des problèmes!

Pour cela, j'utilise Bitbucket Cards, qui est une belle et simple interface en kanban aux problèmes de Bitbucket. Il vous suffit de vous connecter à votre compte Bitbucket et de configurer les colonnes souhaitées. J'ai quatre colonnes: Carnet de commandes, Suivant, Bugs et Résolu. (Je pense fusionner Bugs avec Backlog, mais peu importe pour l'instant)

Exemple de Bitbucket Cards (Cette image provient du blog de Bitbucket Cards et non de mon projet. Les colonnes sont donc différentes de celles que j'utilise).

Bitbucket Cards vous permet de configurer un filtre très simple pour chaque liste, dans lequel vous choisissez le (s) statut (s) et le (s) type (s) de problèmes qui entrent dans une colonne de cartes. Ainsi, les openproblèmes de statut du genre bugvont dans la colonne Bug .

Définition de la colonne (Celui-ci est issu de mon projet: c'est comme ça que je sélectionne ce qui va dans la colonne Bug)

Ce qui est vraiment bien, c'est que lorsque vous faites glisser une carte d'une colonne à une autre, cela change automatiquement le statut du problème représenté par la carte pour correspondre à celui défini dans la définition de la colonne de destination.

Une autre bonne chose à propos de Bitbucket Cards est qu’elle n’expire pas facilement. Ceci est crucial car le but de tout cet ensemble est de faciliter les choses - donc ce système fonctionne pour moi au lieu de travailler pour lui. J'ouvre une page de marque-pages sur ma carte et celle-ci reste ouverte toute la journée sur un onglet Chrome.

Cela prend soin de mon 2ème but.

Étape 4: Faites le lien avec le contrôle de version.

Les problèmes de Bitbucket sont étroitement liés au contrôle de version (comme pour la plupart des concurrents). Ainsi, lorsque j'ai fini de travailler sur un problème, je l'engage avec un message du type "Ajout du chose à la chose. Corrections # 245". Si je commets ceci, puis le pousse, puis recharge ma page Bitbucket Cards, je verrai que le problème est passé à la colonne Résolu. Cool.

Il y a mon 3ème but fait.

Étape 5: facilitez la CRÉATION de problèmes.

Vous pensez probablement que toute cette configuration est déjà trop compliquée, et pourquoi voudrais-je ajouter une autre application Web au processus? Eh bien, souvenez-vous de mon objectif principal ci-dessus: je veux rendre l’ajout d’une tâche tellement facile que je ne perds pas le fil de mes pensées avant d’arriver dans la zone de texte pour la saisir, et que je ne souhaite pas perdre ma place. le code au moment où je suis fait.

Désormais, Bitbucket Cards me permet de créer des tâches assez facilement, mais c’est juste un peu difficile à atteindre pour atteindre pleinement l’objectif n ° 1. Vous devez cliquer sur Créer un problème. alors un éditeur modal apparaît; Après avoir entré le titre de votre numéro, vous devez faire défiler l'écran pour spécifier le type (bug / tâche) et la priorité. puis cliquez sur créer.

Au lieu de cela, j'ai choisi d'utiliser une deuxième application Bitbucket appelée taskrd .

Vous pouvez configurer taskrd, en lui donnant votre identifiant Bitbucket, le définir sur un signet et un onglet, et le garder ouvert toute la journée, tout comme les cartes Bitbucket. Taskrd a un flux de travail beaucoup plus simple pour ajouter une nouvelle tâche, il vous suffit de la saisir, éventuellement de définir le type et la priorité, puis de cliquer sur le bouton Ajouter.

interface de tasrkd (cette image provient du blog Taskrd)

Maintenant, on peut dire que cela ne vaut pas la peine de configurer Taskrd pour utiliser des cartes Bitbucket ou même le système de saisie des problèmes de Bitbuckets. Après tout, avec Taskrd, je dois cliquer sur un onglet de mon navigateur, puis sur Recharger sur ma page avec des cartes Bitbucket pour l’actualiser et obtenir le nouveau problème que j’ai ajouté dans l’application Taskrd. Mais en fait, je trouve que je suis généralement en mode ou en autre: soit j'utilise Bitbucket Cards pour organiser ce que je fais ensuite, soit pour parcourir la liste des bogues, soit je suis occupé à coder et à entrer des tâches. / bugs comme ils me viennent à l’esprit - tous en mode de tir rapide. Pour ce deuxième mode de travail, le Taskrd est excellent: je le laisse simplement ouvert sur un moniteur séparé et saisis rapidement les problèmes en cours de travail.

Donc, cela couvre l'objectif n ° 1.

Mon dernier objectif était une installation facile / bon marché. Eh bien, c'est bon marché: tout cela est gratuit. Bitbucket dispose de référentiels privés gratuits pour un maximum de cinq utilisateurs et les autres applications sont gratuites. La configuration semble non-triviale sur la base de ce qui précède, mais la partie la plus compliquée était de configurer git pour le transférer dans le référentiel de bitbucket, qui sera le même n’importe où. Je n'avais rien à installer, et connecter les deux applications à mon référentiel bitbucket était assez facile. Configurer les colonnes de cartes comme je les aimais prenait un peu de jeu, mais n'était pas très difficile.

En relisant cela, je dirais peut-être que je suis un peu timide pour Bitbucket - mais je ne le veux vraiment pas. C'est juste que j'utilise ce processus depuis des semaines - après des années d'essais de différentes configurations pour suivre ce que je fais - et je le fouille vraiment, alors je pensais prendre le temps de l'exposer pour les autres.

Rhubarbe
la source
3

Si vous êtes habitué à utiliser les balises TODO dans Eclipse, une solution simple consisterait à utiliser Mylyn . À la base, c'est une liste de tâches simple. Mais, il associe également le contexte à des tâches - cliquez sur une tâche pour l'activer, effectuez des tâches, puis lors de la prochaine activation, Eclipse ouvrira les classes appropriées et vous montrera les méthodes appropriées. Encore plus puissant, si vous passez éventuellement à un autre système de suivi des bogues, Mylyn peut extraire des tâches de ces systèmes et les présenter dans votre IDE.

La plupart des téléchargements Eclipse de nos jours ont Mylyn intégré en standard. Recherchez simplement la vue Liste des tâches et commencez à ajouter des tâches.

RevBingo
la source
J'ai vu Mylyn, mais je crains que cela ne m'aide beaucoup plus que les tâches effectuées dans Eclipse. Les bugs que je trouve et qui ne sont pas directement visibles dans le code ont tendance à se perdre dans le remaniement. Il est donc moins probable que j'ajoute un bogue à Eclipse quand il n'est pas ouvert :)
bedwyr
J'utilise les balises TODO, puis utilise find / grep -o pour me créer une liste de tâches.
Sal
3

J'utilise la licence de démarrage de 10 $ pour Jira. C'est pas cher et je le sais déjà bien du travail.

speshak
la source
2

Comme d’autres ici, j’utilise soit un fichier texte, soit le système de suivi des bogues intégré au service d’hébergement de dvcs.

Cela dépend en grande partie de la nature de votre "projet personnel". Est-ce quelque chose qui va jamais voir le jour ou est-ce juste une expérience? Ce projet est-il utilisé par le public?

Par exemple, un de mes projets personnels est devenu moyennement populaire et la création d’un site Get Satisfaction , car cela fonctionnait très bien. Pas vraiment "suivi des bogues" mais cela fonctionnait très bien pour les demandes de bogues / fonctionnalités.

Mike
la source
2

Un peu surpris que personne ne l’ait dit pour le moment, mais il existe des solutions de suivi des bogues distribuées qui font partie de votre contrôle de source distribué, c’est-à-dire que la base de données de bogues vit avec votre code dans votre contrôle de révision. Les implémentations bien connues incluent "Bugs Everywhere", Fossil et Ditz.

Voir https://stackoverflow.com/questions/773818/distributed-projectmanagement-bug-tracking et https://stackoverflow.com/questions/1851221/distributed-bug-tracker-to-go-with-dvc?rq=1 pour une discussion.

Niall Douglas
la source
1

J'utilise Omnifocus pour mes projets personnels.

Mise à jour: 25/10/2010 Si je trouve un bogue que je ne peux pas ou ne veux pas corriger immédiatement, je l'ajoute rapidement à la boîte de réception d'Omnifocus. Puis, plus tard, lorsque je ferai un compte-rendu, je rassemblerai toutes les informations dont je pense avoir besoin pour résoudre le bogue, puis je les ajouterai au projet. Sa position dans la liste des tâches indique son importance relative.

Je traite les bogues de la même manière que les exigences / fonctionnalités dans la plupart des cas.

Henry
la source
2
Merci pour la réponse: cela vous dérange-t-il de préciser comment vous l'utilisez spécifiquement pour le suivi des défauts?
bedwyr
Merci pour la mise à jour! Il est intéressant de voir un outil général utilisé pour la gestion des défauts.
bedwyr
Remarque: Pour les produits Apple uniquement
Mark C, le
Omnifocus est un produit Apple mais je l'utilise pour mon développement non Apple.
Henry
1

Pour les projets personnels, les commentaires TODO et un fichier texte contenant des TODO, des bogues, etc. me suffisent généralement.

Sebastian Negraszus
la source
1

J'utilise ma propre TheKBase (depuis OSX, je l'utilise sur .Net dans une machine virtuelle ou Mono, selon mon humeur). Pour un utilisateur simultané uniquement, mais: cela permet plusieurs hiérarchies, il passe donc du gestionnaire de tâches au gestionnaire d'informations sans qu'il n'y ait aucune étape entre les deux. De plus, il est open source sur Github et gratuit (c'est évident, je suppose).

Pour les curieux, les instructions sont ici .

Dan Rosenstark
la source
1

J'utilise ToDoList pour mes projets personnels; Il est léger, gratuit et comporte de nombreuses fonctionnalités. Je ne sais pas si cela s'adapte bien aux projets d'équipe, mais c'est très bien pour moi de travailler seul. Je ne sais pas comment j'ai survécu à utiliser la liste de tâches intégrée de Visual Studio pendant si longtemps, c'est de la merde.

Andrew Arnold
la source
Sur mes petits projets personnels, la liste ReSharper TODO fonctionne pour moi.
Personne
1

Nous utilisons une combinaison de JIRA, Google Docs et Spreadsheets. J'ai examiné d'autres outils, car notre installation JIRA est plus ancienne que la poussière et n'est pas aussi facile à utiliser que les nouvelles interfaces plus sophistiquées, glisser-déposer.

J'ai examiné Manymoon, Zoho Projects, Insightly, Redmine et Assembla. Nous allons expérimenter avec l' outil Stand Up gratuit d'Assembla . C'est une interface très simple de reporting à 3 champs qui pose à chaque membre de l'équipe 3 questions: Qu'as-tu fait la semaine dernière? Que ferez-vous cette semaine? Quels sont les obstacles sur votre chemin?

Au final, je pense que je vais m'en tenir à JIRA, à Google Docs et à l'outil Assembla Stand Up, car cette combinaison me donne tout ce dont j'ai besoin.

jmort253
la source
1

J'aime le plus Trac, car il est léger, facile à utiliser et à configurer. Et le wiki intégré et le navigateur de référentiel élégant sont un avantage considérable.

Au travail, nous utilisons JIRA, qui est également très agréable, mais pas si facile à administrer. Et il me manque vraiment un wiki (l’intégration avec Confluence n’est pas si géniale) et un bon navigateur de référentiel (nous venons de ViewVC).

Simon
la source
Trac est un cauchemar à installer et à configurer.
1

J'utilise Trac depuis quelques années. J'ai aussi utilisé Bugzilla et JIRA. Mes projets de conseil personnels et privés impliquent Trac simplement parce que j'y suis habitué et que faire avancer un projet dans ma configuration de développement personnel nécessite si peu d'efforts, car les efforts sont terminés. J'ai connecté à tout ce dont j'ai besoin, y compris SVN ou Git et Hudson (ou plutôt Jenkins maintenant).

Sur certains projets clients, il n’ya généralement pas d’autre choix que ce qu’ils utilisent, ce qui souvent n’est malheureusement rien ou de la merde dans la maison. Je suis surpris quand ils ont un bug tracker dernièrement. Personnellement, j’espère avoir une meilleure offre de la part de la communauté des logiciels libres que Trac. Cela fait avancer les choses, mais ces temps-ci semblent être un tel patchwork.

Johnny
la source
Trac est un cauchemar à installer et à administrer.
0

Je ne vois pas l'intérêt d'utiliser un suivi de bogues formel pour de petits projets individuels. Habituellement, je ne fais que garder une liste (très courte) mentale et corriger les bugs au fur et à mesure que j'en prends conscience. Bien sûr, cela n’est pas adapté aux projets de grande taille ou à plusieurs personnes, mais le fait est que ce n’est pas nécessaire.

Dsimcha
la source
3
C'est en partie le problème: une liste mentale a tendance à être insuffisante. Beaucoup de mes défauts sont consignés mentalement, puis perdus avec le temps, à mesure que de nouvelles fonctionnalités et améliorations sont mises en place.
bedwyr
@bedwyr si vous vous en tenez à la règle de la résolution de tous les défauts connus avant de mettre en œuvre de nouvelles fonctionnalités, il ne s'agit pas d'un problème.
Kevin Laity
@ Kevin, des défauts peuvent être trouvés dans les versions précédentes lorsque vous travaillez sur la dernière itération d'un projet. Souhaitez-vous arrêter immédiatement le développement d'une fonctionnalité hautement prioritaire pour corriger un défaut de priorité faible dans une version précédente? Si non, comment les suivez-vous? Dans mon cas, une liste mentale est insuffisante.
bedwyr
@bedwyr Bon point, je suppose que c'est une question de préférence. En fait, je corrigerais ce défaut immédiatement, car nous parlons d'un petit projet à une personne. Si j'étais dans une grande entreprise, histoire différente.
Kevin Laity
0

Si vous utilisez ReSharper, il contient un TODO tracker, qui vous montre une liste de tous les TODOs, NOTEs et BUGs de votre solution. Il les met également en évidence dans votre code dans la couleur de votre choix. Je trouve cela vraiment utile sur mes propres projets.

Personne
la source