Lo he visto mucho en el código, incluso vim lo marca como un caso especial. #TODO
y #FIXME
hay otros dos marcadores de corrección vim más destacados, pero ¿qué #XXX
significa?
Lo he visto mucho en el código, incluso vim lo marca como un caso especial. #TODO
y #FIXME
hay otros dos marcadores de corrección vim más destacados, pero ¿qué #XXX
significa?
Respuestas:
XXX
en un comentario suele ser un aviso. Podría ser:
A menudo he preferido una etiqueta más descriptiva como FIXME
o TODO
o HACK
. XXX
A menudo se utiliza como una trampa para todo lo anterior.
La búsqueda de 'XXX' en la referencia cruzada del código de FreeBSD es un buen ejemplo de muchos de los usos. Hay miles...
TODO
o en su XXX
lugar), pero así es como lo interpretaría.
NOTE
: Descripción de cómo funciona el código (cuando no es evidente).XXX
: Advertencia sobre posibles dificultades, se puede utilizar como NOTE:XXX:
.HACK
: Código no bien escrito o mal formado para evitar un problema / error. Debería usarse como HACK:FIXME:
.FIXME
: Esto funciona, más o menos, pero podría hacerse mejor. (generalmente código escrito a toda prisa que necesita ser reescrito).BUG
: Hay un problema aquí.TODO
: No hay problema, pero es necesario escribir código adicional, generalmente cuando omites algo.Al menos así es como me enseñaron sobre estas etiquetas. Básicamente, los dos primeros ( NOTE
y XXX
) se utilizan para información y no se requiere ninguna acción. Mientras que los últimos tres ( FIXME
, BUG
y TODO
) requieren acción. HACK
está en algún punto intermedio (y creo que casi nunca se usa).
LAZY
(no tan crítico como FIXME o HACK) y OCD
(sobre ingeniería conocida).
Algunas notas de una propuesta de mejora de Python de junio de 2005 que fue rechazada .
Elegir entre
FIXME
yXXX
es difícil.
XXX
Parece ser más común, pero mucho menos descriptivo.
Además,XXX
es un marcador de posición útil en un fragmento de código que
tiene un valor desconocido.Así
FIXME
es la ortografía preferida.
Sun dice esoXXX
yFIXME
son ligeramente diferentes, dandoXXX
mayor severidad.
Sin embargo, con décadas de caos sobre este tema y demasiados millones de
desarrolladores que no se verán influenciados por Sun, es fácil llamarlos sinónimos.
El PEP comienza con,
Este PEP ha sido rechazado. Si bien la comunidad puede estar interesada,
no existe el deseo de hacer que la biblioteca estándar se ajuste a este estándar.
...
¿Qué son las etiquetas de código?
Los programadores utilizan ampliamente las convenciones de marcado de comentarios de código ad-hoc para servir como recordatorios de secciones de código que necesitan una inspección o revisión más detallada. Ejemplos de marcado incluyen
FIXME
,TODO
,XXX
,BUG
, pero hay muchos más en el amplio uso en el software existente. Tal marcado se denominará en adelante etiquetas de código . Estas etiquetas de código pueden aparecer en el código de la aplicación, pruebas unitarias, scripts, documentación general o donde sea adecuado.
El PEP es una lectura interesante.
Echa un vistazo a PEP350 . Explica todo TODO
, XXX
etc. Lo uso todos los días cuando no recuerdo exactamente qué significa una de las etiquetas de código.
Lo uso XXX
porque es más fácil de escribir que TODO
.
XXX
es para cuando tienes prisa y volverás a esto tú mismo.
TODO
es para cuando tienes que entregarlo a otra persona.
Probablemente es para casos que no sabes cómo manejar.
Mira esto: Vista de lista de las declaraciones TODO / FIXME / XXX / HACK
De las convenciones de código Java (antiguas) :
Use XXX en un comentario para marcar algo que es falso pero que funciona. Use FIXME para marcar algo que es falso y roto.
XXX es la abreviatura de advertencia que es ligeramente diferente de NOTE pero bastante similar a HACK. Puede ser un error en una biblioteca / código de terceros que se está utilizando y el código con // XXX: indica que es una solución debido a un error en el código de terceros o podría significar "precaución" para alguien que busca / modifica el código para indicar por qué se hace algo de una manera determinada que de otro modo puede parecer incorrecto / poco elegante a primera vista. HACK es un término genérico que significa una solución para un problema que podría estar presente en su propia base de código o en una biblioteca de terceros.
Creo que while FIXME
es para el desarrollador, y HACK
es para el mantenedor, XXX
es para el usuario.
Por ejemplo, si ignora XXX
y llama a esta función en otro lugar, sin comprender cómo funciona, puede suceder algo inesperado y la persona que se ocupa de este problema será infeliz (al menos el que agregó lo XXX
cree). Puede pensar que el problema desaparecerá si simplemente no usa esta función.
Pero para FIXME
, te sentirás digno de solo arreglar el código para que funcione. Y para HACK
, es posible que no tenga una mejor opción, incluso si no la usa.
Si escribió XXX
en su propio código y alguien lo usó, puede sentirse infeliz por razones como que reescribió ese código por completo, y luego se comportó de maneras completamente diferentes y rompió el código de otra persona. Pero si dejaste un FIXME
o TODO
, en su lugar, no te importará tanto.