Eu já vi isso muito no código, até o vim o marca como um caso especial. #TODOe #FIXMEexistem outros dois marcadores de correção no vim destaques, mas o que #XXXsignifica?
Eu já vi isso muito no código, até o vim o marca como um caso especial. #TODOe #FIXMEexistem outros dois marcadores de correção no vim destaques, mas o que #XXXsignifica?
Respostas:
XXXem um comentário geralmente é um alerta. Poderia ser:
Eu sempre preferi uma tag mais descritiva como FIXMEou TODOou HACK. XXXé frequentemente usado como uma captura para o que foi dito acima.
Procurar 'XXX' na referência cruzada do código FreeBSD é um bom exemplo de muitos dos usos. Existem milhares ...
TODOou XXXnão), mas é assim que eu o interpretaria.
NOTE: Descrição de como o código funciona (quando não é evidente).XXX: Aviso sobre possíveis armadilhas, pode ser usado como NOTE:XXX:.HACK: Código não muito bem escrito ou mal formado para contornar um problema / bug. Deve ser usado como HACK:FIXME:.FIXME: Isso funciona, mais ou menos, mas poderia ser feito melhor. (geralmente código escrito com pressa que precisa ser reescrito).BUG: Existe um problema aqui.TODO: Não há problema, mas é necessário escrever um código adicional, geralmente quando você está pulando alguma coisa.Pelo menos foi assim que me ensinaram sobre essas tags. Basicamente, os dois primeiros ( NOTEe XXX) são usados para obter informações e nenhuma ação é necessária. Enquanto os últimos três ( FIXME, BUGe TODO) exigem ação. HACKestá em algum lugar no meio (e quase nunca foi usado, eu acho?).
LAZY(não tão crítico quanto FIXME ou HACK) e OCD(superengenharia conhecida).
Algumas notas de uma proposta de aprimoramento do Python de junho de 2005 que foram rejeitadas .
Escolher entre
FIXMEeXXXé difícil.
XXXparece ser mais comum, mas muito menos descritivo.
Além disso,XXXé um espaço reservado útil em um pedaço de código
com um valor desconhecido.Assim
FIXMEé a grafia preferida.
A Sun diz issoXXXeFIXMEé um pouco diferente, dandoXXXmaior gravidade.
No entanto, com décadas de caos sobre esse tópico e muitos milhões de
desenvolvedores que não serão influenciados pela Sun, é fácil chamá-los corretamente de sinônimos.
O PEP começa com,
Este PEP foi rejeitado. Embora a comunidade possa estar interessada,
não há desejo de fazer a biblioteca padrão estar em conformidade com esse padrão.
...
O que são etiquetas de código?
Os programadores usam amplamente as convenções de marcação de comentários de código ad-hoc para servir como lembretes de seções de código que precisam de inspeção ou revisão mais detalhadas. Exemplos de marcação incluem
FIXME,TODO,XXX,BUG, mas muitos mais lá em amplo uso em software existente. A partir de agora, essa marcação será chamada de marca de código . Essas marcas de código podem aparecer no código do aplicativo, nos testes de unidade, nos scripts, na documentação geral ou onde for adequado.
O PEP é uma leitura interessante.
Dê uma olhada no PEP350 . Explica tudo TODO, XXXetc. Eu o uso todos os dias quando não consigo lembrar exatamente o que significa uma das tags de código.
Eu uso XXXporque é mais fácil digitar do que TODO.
XXX é para quando você estiver com pressa e voltar a isso sozinho.
TODO é para quando você tiver que entregá-lo a outra pessoa.
Provavelmente é para casos que você não sabe como lidar.
Confira isto: Exibição em lista de instruções TODO / FIXME / XXX / HACK
De convenções de código Java (antigas) :
Use XXX em um comentário para sinalizar algo que é falso, mas funciona. Use o FIXME para sinalizar algo que é falso e quebrado.
XXX é uma abreviação de ressalva, que é um pouco diferente do NOTE, mas é bastante semelhante ao HACK. Pode ser um bug em uma biblioteca / código de terceiros que está sendo usado e o código com // XXX: indica que é uma solução alternativa devido a um bug no código de terceiros ou pode significar "cuidado" para alguém que está procurando / modificando o código para indicar por que algo é feito de uma certa maneira que, de outra forma, pode parecer incorreta / deselegante à primeira vista. HACK é um termo genérico que significa uma solução alternativa para um problema que pode estar presente em sua própria base de código ou em uma biblioteca de terceiros.
Acredito que enquanto FIXMEé para o desenvolvedor e HACKpara o mantenedor, XXXé para o usuário.
Por exemplo, se você ignorar XXXe chamar essa função em outro lugar, sem entender como ela funciona, algo inesperado poderá acontecer e a pessoa que estiver lidando com esse problema ficará infeliz (pelo menos a pessoa que adicionou XXXisso pensa). Você pode pensar que o problema desaparecerá se você simplesmente não usar esta função.
Mas FIXME, você se sentirá digno de corrigir o código para fazê-lo funcionar. E HACK, talvez você não tenha escolha melhor, mesmo que não a use.
Se você escreveu XXXem seu próprio código e alguém o usou, você pode se sentir infeliz por razões como reescrevê-lo completamente, e então se comportar de maneiras completamente diferentes, e você quebrou o código de outra pessoa. Mas se você deixou um FIXMEou TODOnão, não se importará tanto.