Fermer

juillet 15, 2020

N'oubliez jamais un commentaire TODO avec tickgit, le chef de projet de votre référentiel


tickgit est un outil en ligne de commande et une application Web qui aide les développeurs à gérer leur projet dans leur code, grâce à l'utilisation de commentaires TODO et d'autres marqueurs en texte brut. C'est un moyen peu coûteux de gérer votre backlog sans changer de contexte.

tickgit scanne le code source pour les marqueurs TODO (et HACK, FIXME, XXX, etc.) et présente ces commentaires de code sous forme de tickets, avec un contexte plus complet dérivé de Git histoire (qui l'a ajouté, quand, où etc.).

Je suis un développeur solo qui construit tickgit et tickgit.com pour aider les ingénieurs logiciels à être plus productifs dans leur code. J'espère que vous trouverez ce projet intéressant et utile!

 l'interface tickgit

Pourquoi?

La gestion de projet est une partie essentielle du développement logiciel, même pour les développeurs solo qui construisent un projet parallèle. De nombreux systèmes de billetterie et de gestion des tâches existants aident les équipes et les individus à suivre de manière approfondie les travaux en attente. Parfois, cependant, en utilisant les commentaires TODO et d'autres marqueurs dans une base de code finit par être un moyen plus efficace de garder un œil sur ce qui doit être fait.

Commentaires TODO (ou FIXME, HACK, OPTIMIZE, XXX , etc.) sont un moyen courant pour les développeurs d'indiquer qu'un domaine de code vaut la peine d'être abordé et d'y revenir. La base de code Linux contient 4k + de ces types de commentaires, Kubernetes a 2k +.

Si ce genre de chose est une vue familière, vous n'avez pas doute déjà vu ou utilisé avant:

     // TODO: Débarrassez-vous de cette condition en quelque sorte. Peut-être avec une version dynamique
    // du pragma @gate.

Les TODO sont faciles

Les tâches sont faciles à ajouter et à retirer. Vous n'avez pas besoin de quitter votre éditeur. Ils sont en texte brut. Vous pouvez inclure des liens vers des informations supplémentaires. Ils sont flexibles. Vous pouvez même utiliser des emojis ?✏️. Vous n'êtes pas limité par les exigences de terrain d'un système de billetterie externe. Vous pouvez être aussi complet ou succinct que vous le souhaitez en décrivant pourquoi vous annotez une zone de code.

Pas de changement de contexte

Les tâches sont juste à côté du code qu'elles décrivent, ce qui signifie que vous ne perdez pas le contexte de la base de code: les classes, fonctions, variables, etc. environnantes. L'utilisation d'un système de ticket externe vous oblige à changer de focus lorsque vous essayez de comprendre un ticket et les morceaux de code pertinents, ou à faire beaucoup de la copie de contexte pour aider à clarifier votre tâche.

Les tâches vous permettent de maintenir votre flux lors de l'écriture de code, et sont souvent une charge mentale plus faible que de passer de et vers des tickets dans un système externe. Les tâches, bien sûr, peuvent renvoyer à un ticket existant si nécessaire.

Traçable avec votre code

Comme les commentaires TODO font partie de votre code, ils sont stockés dans le contrôle de version. Ils peuvent subir une révision de code dans vos RP. Ils ont une histoire et peuvent être attribués à des auteurs, des versions et des commits. Cela peut permettre à la direction de projet de générer des rapports sur le burndown, les responsabilités de l'équipe, la dette technique, l'efficacité du développement, etc.

L'outil de ligne de commande tickgit est un projet open source qui analyse une base de code Git pour les commentaires TODO . Il exécute un blâme Git et génère des résultats avec des références aux chemins de fichiers et aux numéros de ligne.

Il peut être utilisé pour interroger de manière ad hoc des commentaires TODO ouverts et prend en charge la sortie CSV pour la consommation par d'autres outils (feuilles de calcul, processeurs de texte, etc. .

Voici un exemple de sortie:

 exemple de sortie

La CLI est actuellement assez simple, mais avec des plans pour améliorer pour permettre plus de cas d'utilisation, y compris:

  • Personnalisation de phrases à faire correspondre (ne correspondent pas à XXX mais correspondent à @TODO dans les commentaires)
  • Interrogation et filtrage (montrez-moi toutes les tâches ajoutées cette semaine, montrez-moi seulement les miennes, etc.)
  • Nombre de requêtes d'agrégation par auteur, âge moyen par auteur, etc.
  • Un mode CI échoue avec une erreur si certains critères sont remplis (pas de tâches dans certaines branches, max 5 tâches par auteur, etc.) [19659023] Extraire des liens et une analyse personnalisée des commentaires (extraire un cessionnaire, une date d'échéance, etc.)

tickgit.com

L'application web tickgit est un SaaS qui s'intègre actuellement à GitHub. Il est gratuit (aucune inscription requise) à utiliser pour les référentiels publics. Vous pouvez afficher les commentaires TODO ouverts et certaines statistiques récapitulatives, y compris les tableaux de décompte par auteur et l'âge moyen par auteur.

Chaque commentaire TODO est présenté sous forme de carte, qui affiche des informations similaires à celles de l'interface CLI. En cliquant dessus, vous accédez au fichier et à la ligne du commentaire TODO dans l'interface utilisateur de GitHub.

 Fichier TODO et ligne sous la page

Les référentiels privés sont pris en charge pour 3 $ / mois (pour les particuliers). Toutes les fonctionnalités de la version gratuite (pour les référentiels publics) sont dans la version payante pour les référentiels privés.

Voici quelques améliorations en cours:

  • Abonnez-vous aux commentaires TODO d'un référentiel sous forme de résumé hebdomadaire par courrier électronique
  • Amélioré interrogation et filtrage (trouver mes tâches, les tâches antérieures à une date, etc.)
  • Prise en charge de plus d'hôtes Git (GitLab, BitBucket, sourcehut, etc.)
  • Meilleure intégration avec des outils tiers comme Trello , Jira et Slack

Rendez-vous sur tickgit.com et faites un tour sur l'un de vos dépôts publics. J'espère que vous serez surpris de voir à quel point vous pouvez travailler plus efficacement avec l'arriéré que vous ne saviez même pas que vous aviez!




Source link