Por várias razões durante o desenvolvimento, às vezes comento código. Como sou caótico e às vezes com pressa, alguns deles chegam ao controle de origem.
Também uso comentários para esclarecer blocos de código.
Por exemplo:
MyClass MyFunction()
{
(...)
// return null; // TODO: dummy for now
return obj;
}
Mesmo que "funcione" e muitas pessoas o façam dessa maneira, me incomoda que você não consiga distinguir automaticamente o código comentado dos comentários "reais" que esclarecem o código:
- adiciona ruído ao tentar ler o código
- você não pode procurar código comentado, por exemplo, um gancho de confirmação no controle de origem.
Algumas linguagens suportam vários estilos de comentário de linha única - por exemplo, no PHP, você pode usar //
ou #
para um comentário de linha única - e os desenvolvedores podem concordar em usar um destes para o código comentado:
# return null; // TODO: dummy for now
return obj;
Outros idiomas - como o C # que estou usando hoje - têm um estilo para comentários de linha única (certo? Eu queria estar errado). Também vi exemplos de código "comentando" usando diretivas do compilador, o que é ótimo para grandes blocos de código, mas um pouco exagerado para linhas únicas, pois duas novas linhas são necessárias para a diretiva:
#if compile_commented_out
return null; // TODO: dummy for now
#endif
return obj;
Assim, como o código de comentário ocorre em todos os idiomas (?), O "código desativado" não deve ter sua própria sintaxe nas especificações de idioma? Os profissionais (separação de comentários / código desativado, editores / controle de origem agindo sobre eles) são bons o suficiente e os contras ("não devem comentar de qualquer maneira", não são uma parte funcional de uma linguagem, um possível atraso no IDE (obrigado Thomas )) vale a pena sacrificar?
Editar
Percebo que o exemplo que usei é bobo; o código fictício pode ser facilmente removido, pois é substituído pelo código real.
/# ... #/
que gostaria de destacar de forma diferente no IDE (para sugestões visuais) e talvez gerar um compilador aviso que passaria então a ser preso e relatados em pelo nightly build se alguém se verificar tais alterações de volta no controle de origem.