Eu já vi isso muito no código, até o vim o marca como um caso especial. #TODO
e #FIXME
existem outros dois marcadores de correção no vim destaques, mas o que #XXX
significa?
Eu já vi isso muito no código, até o vim o marca como um caso especial. #TODO
e #FIXME
existem outros dois marcadores de correção no vim destaques, mas o que #XXX
significa?
Respostas:
XXX
em um comentário geralmente é um alerta. Poderia ser:
Eu sempre preferi uma tag mais descritiva como FIXME
ou TODO
ou 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 ...
TODO
ou XXX
nã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 ( NOTE
e XXX
) são usados para obter informações e nenhuma ação é necessária. Enquanto os últimos três ( FIXME
, BUG
e TODO
) exigem ação. HACK
está 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
FIXME
eXXX
é difícil.
XXX
parece 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 issoXXX
eFIXME
é um pouco diferente, dandoXXX
maior 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
, XXX
etc. Eu o uso todos os dias quando não consigo lembrar exatamente o que significa uma das tags de código.
Eu uso XXX
porque é 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 HACK
para o mantenedor, XXX
é para o usuário.
Por exemplo, se você ignorar XXX
e 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 XXX
isso 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 XXX
em 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 FIXME
ou TODO
não, não se importará tanto.