A ideia é realmente muito boa. Ao contrário dos fluxos de trabalho comuns, você mantém a revisão diretamente no código; portanto, tecnicamente, você não precisa de nada além do editor de texto para usar esse fluxo de trabalho. O suporte no IDE também é bom, especialmente a capacidade de exibir a lista de comentários na parte inferior.
Funciona bem para equipes muito pequenas, mas equipes maiores exigirão rastreamento sobre o que foi revisado, quando, por quem e com qual resultado. Embora você realmente tenha esse tipo de rastreamento (o controle de versão permite saber tudo isso), é extremamente difícil de usar e pesquisar, e muitas vezes exigirá uma pesquisa manual ou semi-manual nas revisões.
Não acredito que o revisor tenha feedback suficiente do revisor para saber como os pontos revisados foram realmente aplicados .
Imagine a seguinte situação. Alice está revisando pela primeira vez o código de Eric. Ela percebe que Eric, um jovem desenvolvedor, usou a sintaxe que não é a mais descritiva na linguagem de programação realmente usada.
Alice sugere uma sintaxe alternativa e envia o código de volta para Eric. Ele reescreve o código usando esta sintaxe alternativa que acredita entender corretamente e remove o // BLA
comentário correspondente .
Na semana seguinte, ela recebe o código para a segunda revisão. Será que ela conseguiria se lembrar de que fez essa observação durante sua primeira revisão, para ver como Eric a resolveu?
Em um processo de revisão mais formal, Alice pôde ver imediatamente que fez uma observação e ver a diferença do código relevante, a fim de perceber que Eric não entendeu a sintaxe que ela lhe falou.
Pessoas ainda são pessoas. Tenho certeza de que alguns desses comentários acabarão no código de produção e outros permanecerão como lixo enquanto estiverem completamente desatualizados .
Obviamente, o mesmo problema existe com qualquer outro comentário; por exemplo, há muitos comentários TODO em produção (incluindo o mais útil: "TODO: comente o código abaixo.") e muitos comentários que não foram atualizados quando o código correspondente foi.
Por exemplo, o autor original do código ou o revisor pode sair, e o novo desenvolvedor não entenderia o que a revisão diz; portanto, o comentário permanecerá para sempre, esperando que alguém seja corajoso demais para apagá-lo ou realmente entender o que diz.
Isso não substitui uma revisão presencial (mas o mesmo problema se aplica a qualquer outra revisão mais formal que não seja realizada presencialmente).
Especialmente, se a revisão original exigir explicações, o revisor e o revisor iniciarão uma espécie de discussão . Não apenas você se encontrará com grandes comentários de BLA, mas essas discussões também poluem o log do controle de versão .
Você também pode encontrar problemas menores com a sintaxe (que também existe nos comentários do TODO). Por exemplo, e se um longo comentário "// BLA" aparecer em várias linhas, e alguém decidir escrevê-lo desta maneira:
// BLA This is a very long comment which is way beyond 80 characters, so it actually
// fills more then one line. Since the next lines start with slashes, but not "BLA"
// keyword, the IDE may not be able to show those lines, and display only the first one.
E, finalmente, como uma nota menor e muito pessoal: não escolha "BLA" como palavra-chave. Parece feio. ;)