J'ai beaucoup vu cela dans le code, même Vim le marque comme un cas spécial. #TODO
et #FIXME
sont deux autres marqueurs fixes de Vim, mais qu'est-ce que #XXX
signifier?
XXX
dans un commentaire est généralement un heads-up. 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 le référence croisée du code FreeBSD est un bon exemple de nombreuses utilisations. Il y en a des milliers ...
NOTE
: Description du fonctionnement du code (lorsqu'il n'est pas évident).XXX
: Avertissement sur les pièges possibles, peut être utilisé comme NOTE:XXX:
.HACK
: Code pas très bien é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. (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.C'est du moins ainsi que l'on m'a appris ces balises. Fondamentalement, les deux premiers (NOTE
et XXX
) sont utilisés pour l'information et aucune action n'est requise. Alors que les trois derniers (FIXME
, BUG
et TODO
) nécessitent une action. HACK
est quelque part entre les deux (et presque jamais utilisé je pense?).
Quelques notes d'un juin 2005 Python proposition d'amélioration qui a été rejetée .
Choisir 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
ayant une valeur inconnue.Ainsi,
FIXME
est l'orthographe préférée.
Sun dit queXXX
etFIXME
sont légèrement différents, donnant àXXX
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 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 les conventions de balisage de commentaires de code ad hoc pour servir de rappels aux sections de code qui nécessitent une inspection ou un examen plus approfondi. Les exemples de balisage incluent
FIXME
,TODO
,XXX
,BUG
, mais il en existe beaucoup d'autres largement utilisés dans les logiciels existants. Un tel balisage sera désormais appelé codetags . Ces codes peuvent apparaître dans le code d'application, les tests unitaires, les scripts, la documentation générale ou lorsque cela est approprié.
Le PEP est une lecture intéressante.
Jetez un oeil à PEP35 . Il explique tout TODO
, XXX
etc. Je l'utilise tous les jours quand je ne me souviens pas exactement ce que signifie une des balises de code.
J'utilise XXX
car il est plus facile à taper que TODO
.
XXX
est pour quand vous êtes pressé et vous y reviendrez vous-même.
TODO
est pour quand vous devez le remettre à quelqu'un d'autre.
De (ancien) 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é.
C'est probablement pour les cas que vous ne savez pas comment gérer.
Vérifiez ceci: Affichage de la liste des instructions TODO/FIXME/XXX/HACK
Un espace réservé, impliquant généralement le code auquel il se réfère est:
ou pire.
XXX est l'abréviation de caveat 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 utilisé et le code avec // XXX: indique que c'est une solution de contournement en raison d'un bogue dans un code tiers ou cela peut signifier "prudence" pour quelqu'un qui recherche/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 tandis que 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 confrontée à ce problème sera mécontente (au moins celle qui a ajouté le XXX
le 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 qu'il se comporte ensuite de manières complètement différentes, et que vous avez cassé le code de quelqu'un d'autre. Mais si vous avez laissé un FIXME
ou TODO
à la place, vous ne vous en soucierez pas autant.