web-dev-qa-db-fra.com

Les messages de commit doivent-ils être écrits au présent ou au passé?

Alors, qu'est-ce que vous pensez être meilleur et plus intuitif?

Fixed the XXX bug in YYY
Fix the XXX bug in YYY
Fixes the XXX bug in YYY
Fixing the XXX bug in YYY

S'il vous plaît fournir vos raisons. Note Je vous demande de votre point de vue général, ce qui signifie que vous ne devriez pas essayer d'associer cela à vos outils ou langages de programmation svn/cvs préférés, mais plutôt à le considérer comme quelque chose qui devrait/peut être appliqué à tous les outils et langages de programmation.

102
His

Je pense à ces messages tels qu'ils apparaissent aux autres développeurs. Les modifications ne sont pas encore appliquées, et il y a la question implicite, "que fera l'application de ce changeset/patch?" Il va "corriger le bogue XXX dans AAAA"!

Pour d'autres verbes, les écrire en tant que commande semble plus naturel et fonctionne mieux si vous avez un objectif spécifique au départ: vous pouvez littéralement écrire le résumé de validation avec des tests préalables avant que le travail ne soit terminé.

Je ne mets pas beaucoup de poids dessus, mais pour moi, c'est le chemin de la moindre résistance tout en maintenant la cohérence.

38
Roger Pate

J'y vais personnellement avec le temps passé ("corrigé") car au moment où j'arrive à commettre le bogue est corrigé (ou je ne commettrais pas).

31
cletus

Je préfère voir les messages de commit au présent. De cette façon, le message décrit ce que fait le diff (parce que vous pourriez extraire ce diff ou même tout le commit dans une autre branche). Ainsi, le message commit ne décrit pas ce qu'il "a fait" ... Il décrit ce que le commit lui-même "fait". Donc, il devrait être au présent.

Imaginez-vous regarder un diff isolément et essayer de décider si vous allez l'appliquer. Cela n'a aucun sens d'avoir un titre au passé.

13
TedPavlic

IMHO si vous voulez qu'il soit descriptif sans avoir à tenir compte du contexte, alors "Fixé" est définitivement la seule bonne variante.

En ce qui concerne l'intuitivité - si je regarde un journal des modifications, je comprendrai certainement que vous entendez le bogue corrigé car je connais le contexte dans lequel la Parole est utilisée, mais mon cerveau l'attrapera beaucoup plus rapidement si la Parole est écrite de cette manière. spécifiant la manière.

"Réparer" est le pire choix à mon humble avis, car il peut être interprété non seulement comme décrivant le rôle du correctif (mais aussi pour le statut), mais également comme un statut de bogue indiquant que le correctif est en cours de traitement et qu'il n'est pas encore résolu.

9
Ivan
Fix the XXX bug in YYY
Teach the XXX to be more ZZZ
Correct typos in javadoc

En général: {Verbe impératif} le {objet affecté} {qualificateurs facultatifs}

La forme impérative s'adapte à tous les cas d'utilisation lorsque je considère un patchset.

  • Que vas-tu faire ici?
  • Que fait ce patchset?
  • Pourquoi ce patchset a-t-il été créé? (pour corriger le bug xxx ...)
  • Je dois corriger le bogue xxx dans yyy. Y a-t-il un commit sur une autre branche qui le fait déjà?

Quel que soit votre choix, je trouve que la cohérence facilite énormément la lisibilité. Choisissez en un et gardez le.

7
phord

Je pense qu'écrire sur le commit actuel au présent est une bonne idée, car cela le rend plus clair lorsque vous vous référez à des validations antérieures au passé.

5
Ken Bloom

Je ne pense pas que cela compte vraiment. Le but est de:

1) Transmettez ce qui est ou était en train d'être fait, afin que les bugs puissent être trouvés plus facilement, les problèmes puissent être résolus plus facilement et, d'une manière générale, être en mesure de maintenir le projet plus facilement.

2) Transmettez quels tickets ont été réparés, le cas échéant, ainsi les auditeurs (s’ils sont utilisés dans votre entreprise, peuvent voir quels changements correspondent à quels tickets).

Enfin, si cela a déjà été corrigé, "Réparer" n'a pas de sens, et si vous travaillez encore dessus, "Corrigé" n'est pas correct.

4
Reverend Gonzo

" Correction du bug X " est 2 caractères plus court que " Correction du bug X ".
Et 3 plus court que " Correction du bug X ".

Du point de vue de l’écriture de messages courts, le présent préserve parfois/habituellement quelques caractères?
Ce qui, à mon avis, compte un peu, par exemple avec la recommandation de Git de moins de 50 caractères sur la première ligne de message de validation.
Aussi, moins de texte -> lire plus vite?

2
KajMagnus

Un message de validation décrit pourquoi vous avez écrit le code en cours de validation.

"Correction du problème 3124" ou "Corrige le problème 3124" semble correct car il dit que ce code est corrigé | corrige le problème 3124. 

Cependant, la grammaire peut également dépendre de la raison pour laquelle le bogue est corrigé. Si vous pouvez marquer le bogue comme ayant été corrigé après avoir validé, "Corrigé" convient parfaitement, mais si le bogue doit être corrigé comme corrigé par quelqu'un d'autre après avoir vérifié votre code, il se peut que "Corrections" soit plus approprié.

1
Parag

Je pense que la réponse la plus importante à une telle question est la suivante: tout le monde devrait utiliser ce qui fonctionne pour un projet spécifique et le maintenir au moins un peu cohérent.

Bien que je voie les avantages de l’utilisation du temps présent (et que j’ai trébuché sur ce post parce que j’ai vu des messages de temps présent dans des projets open source), je n’ai probablement jamais utilisé le temps présent pour mes projets. C’est la méthode recommandée pour Linux et Git, et probablement pour d’autres projets open source plus importants, mais honnêtement, cela m’importe peu tant que je ne fais pas partie de ces projets.

Je suis un développeur indépendant et j’utilise la première ligne d’un message de validation pour les notes de publication, tandis que la description dans les lignes suivantes me donne une idée des détails de la mise en oeuvre. C’est un workflow centré sur l’utilisateur par rapport à l’approche actuelle basée sur les développeurs. Je peux gagner du temps de cette façon. Il serait extrêmement peu naturel de donner à mes utilisateurs des instructions dans les notes de publication. C’est mon travail de corriger les bugs et d’ajouter des fonctionnalités. Je dois gagner du temps car je suis un indie. Je n'ai pas de «rédacteur de notes de publication» dans mon équipe.

Utilisez les règles d’un projet s’il est déjà établi, mais restez pragmatique et faites tout ce qui facilitera ou accélérera votre travail.

0
Rafael Bugajewski