J'ai beaucoup vu cela dans le code, même vim le marque comme un cas spécial. #TODO
et #FIXME
deux autres marqueurs de correction sont-ils mis en évidence par vim, mais qu'est-ce que cela #XXX
signifie?
J'ai beaucoup vu cela dans le code, même vim le marque comme un cas spécial. #TODO
et #FIXME
deux autres marqueurs de correction sont-ils mis en évidence par vim, mais qu'est-ce que cela #XXX
signifie?
Réponses:
XXX
dans un commentaire est généralement un avertissement. Il pourrait être:
J'ai souvent préféré une balise plus descriptive comme FIXME
ou TODO
ou HACK
. XXX
est souvent utilisé comme fourre-tout pour ce qui précède.
La recherche de «XXX» sur la référence croisée du code FreeBSD est un bon exemple de nombreuses utilisations. Il y en a des milliers ...
TODO
ou à la XXX
place), mais c'est ainsi que je l'interpréterais.
NOTE
: Description du fonctionnement du code (quand cela ne va pas de soi).XXX
: Avertissement sur les pièges possibles, peut être utilisé comme NOTE:XXX:
.HACK
: Code mal écrit ou mal formé pour contourner un problème / bug. Doit être utilisé comme HACK:FIXME:
.FIXME
: Cela fonctionne, en quelque sorte, mais cela pourrait être mieux fait. (généralement du code écrit à la hâte qui doit être réécrit).BUG
: Il y a un problème ici.TODO
: Pas de problème, mais du code supplémentaire doit être écrit, généralement lorsque vous sautez quelque chose.Au moins, c'est ainsi que j'ai appris ces balises. Fondamentalement, les deux premiers ( NOTE
et XXX
) sont utilisés à titre d'information et aucune action n'est requise. Alors que les trois derniers ( FIXME
, BUG
et TODO
) ne nécessitent une action. HACK
est quelque part entre les deux (et rarement utilisé je pense?).
LAZY
(pas aussi critique que FIXME ou HACK) et OCD
(overengineering connu).
Quelques notes d'une proposition d'amélioration de Python de juin 2005 qui a été rejetée .
Le choix entre
FIXME
etXXX
est difficile.
XXX
semble être plus courant, mais beaucoup moins descriptif.
De plus,XXX
est un espace réservé utile dans un morceau de code
dont la valeur est inconnue.Ainsi
FIXME
est l'orthographe préférée.
Sun dit celaXXX
etFIXME
sont légèrement différents, ce qui donneXXX
une gravité plus élevée.
Cependant, avec des décennies de chaos sur ce sujet et trop de millions de
développeurs qui ne seront pas influencés par Sun, il est facile de les appeler à juste titre des synonymes.
Le PEP commence par,
Ce PEP a été rejeté. Bien que la communauté puisse être intéressée,
il n'y a aucun désir de rendre la bibliothèque standard conforme à cette norme.
...
Que sont les codetags?
Les programmeurs utilisent largement des conventions de balisage de commentaires de code ad hoc pour rappeler les sections de code qui nécessitent une inspection ou un examen plus approfondi. Des exemples de balisage comprennent
FIXME
,TODO
,XXX
,BUG
, mais beaucoup plus largement utilisé dans les logiciels existants. Un tel balisage sera désormais appelé codetags . Ces codes peuvent apparaître dans le code de l'application, les tests unitaires, les scripts, la documentation générale ou le cas échéant.
Le PEP est une lecture intéressante.
Jetez un œil à PEP350 . Cela explique tout TODO
, XXX
etc. Je l'utilise tous les jours quand je ne me souviens pas exactement de ce que signifie l'une des balises de code.
J'utilise XXX
parce que c'est plus facile à taper que TODO
.
XXX
est pour quand vous êtes pressé et que vous y reviendrez vous-même.
TODO
est pour quand vous devez le remettre à quelqu'un d'autre.
C'est probablement pour les cas que vous ne savez pas comment gérer.
Vérifiez ceci: Vue de liste des instructions TODO / FIXME / XXX / HACK
À partir des (anciennes) conventions de code Java :
Utilisez XXX dans un commentaire pour signaler quelque chose qui est faux mais qui fonctionne. Utilisez FIXME pour signaler quelque chose qui est faux et cassé.
XXX est l'abréviation de mise en garde qui est légèrement différente de NOTE mais assez similaire à HACK. Il peut s'agir d'un bogue dans une bibliothèque / un code tiers qui est utilisé et le code avec // XXX: indique qu'il s'agit d'une solution de contournement en raison d'un bogue dans le code tiers ou cela pourrait signifier "attention" à quelqu'un qui cherche / modifie le code pour indiquer pourquoi quelque chose est fait d'une certaine manière qui autrement peut sembler incorrect / inélégant à première vue. HACK est un terme générique signifiant une solution de contournement pour un problème qui pourrait être présent dans votre propre base de code ou dans une bibliothèque tierce.
Je crois que while FIXME
est pour le développeur, et HACK
est pour le mainteneur, XXX
est pour l'utilisateur.
Par exemple, si vous ignorez le XXX
et appelez cette fonction ailleurs, sans comprendre comment cela fonctionne, quelque chose d'inattendu peut se produire, et la personne qui s'occupe de ce problème sera malheureuse (au moins celle qui l'a ajouté le XXX
pense). Vous pouvez penser que le problème disparaîtra si vous n'utilisez simplement pas cette fonction.
Mais pour FIXME
, vous vous sentirez digne de simplement corriger le code pour le faire fonctionner. Et pour HACK
, vous n'aurez peut-être pas de meilleur choix même si vous ne l'utilisez pas.
Si vous avez écrit XXX
sur votre propre code et que quelqu'un l'a utilisé, vous pouvez vous sentir malheureux pour des raisons telles que vous avez complètement réécrit ce code, et il se comporte alors de manière complètement différente et vous avez cassé le code de quelqu'un d'autre. Mais si vous avez laissé un FIXME
ou à la TODO
place, vous ne vous en soucierez pas autant.
J'utilise // XXX pour ne pas avoir à me souvenir des numéros de ligne. Au lieu de cela, je recherche simplement le XXX lorsque je veux revenir à ce morceau de code.