Como você pode obter críticas construtivas ao seu código?

8

Minha equipe raramente faz uma revisão de código, principalmente porque não temos tempo suficiente e as pessoas não têm energia e vontade de fazê-lo. Mas eu realmente gostaria de saber o que as pessoas pensam sobre o meu código quando o lêem. Dessa forma, entendo melhor como as outras pessoas pensam e adaptam meu código adequadamente para facilitar a leitura.

Portanto, minha pergunta é: como posso obter críticas construtivas ao meu código? Minha intenção é entender como as pessoas pensam para que eu possa escrever um código mais legível.

burnt1ce
fonte
5
Faça revisões de código. Convide pessoas para revisar seu código.
Oded
4
Troca de pilha de revisão de código . Por favor, leia as perguntas frequentes do site antes de postar suas perguntas.
31512 yannis
2
Se nada mais funcionar, leia o código que você escreveu há um tempo atrás - seu código antigo parecerá que alguém o escreveu, o que o tornará objetivo.
SuperM
1
Você quer dizer positivo ou construtivo ?
Blrfl

Respostas:

8

Tendo trabalhado em locais com revisões de código e outras sem, tornou-se um dos meus problemas de improviso ao procurar novos empregos. O tempo que você economiza evitando emergências, porque os problemas não surgiram até que você produzisse, é muito maior do que o tempo gasto na revisão de código. E isso não menciona o quão menos estressante é encontrar um problema na revisão de código.

Você pode começar pequeno se a equipe precisar convencer. Como você deseja que seu código seja analisado, comece por aí. Peça a um ou mais de seus colegas que se encontrem com você por mais ou menos uma hora e revise alguns trechos de código nos quais você gostaria de receber feedback. Se o feedback for muito negativo, não fique na defensiva. Faça anotações e considere fazer as alterações sugeridas. Mas faça isso em algo que você ainda não enviou para prod (ou, francamente, você não fará as alterações). Você pode fazê-lo informalmente em sua mesa, basta ligar para alguém e dizer: "ei, não tenho certeza se tenho a melhor solução aqui, o que você acha?"

Outra maneira de gradualmente fazer com que as pessoas comecem a ver o valor da revisão de código é ter uma sessão uma vez por semana em que todos devem apresentar um trecho de código para revisão (ou você alterna entre cada pessoa, mas apenas uma por semana, dependendo da a complexidade do tipo de código que precisa ser revisado). Traga rosquinhas ou pãezinhos pela primeira vez! Se as pessoas se sentirem desconfortáveis ​​em contar para alguém pessoalmente ou se você achar que as pessoas serão muito defensivas, peça que enviem um e-mail ao chefe e que ele consolide os comentários para que a pessoa que está sendo revisada não saiba quem disse o que aconteceu com o código. Sinceramente, prefiro saber pessoalmente quem disse o quê, porque minha própria avaliação de suas próprias habilidades de codificação me ajudará a decidir com que seriedade devo levar as críticas.

Se você não conseguir encontrar alguém para revisar seu trabalho, sente-se e tente explicar o código e por que você está fazendo o que está fazendo como se alguém estivesse lá. Estou impressionado com a frequência com que foi a pessoa que criou o código que encontrou o problema ao explicar para que serve o código. Também ajuda a sentar-se com o documento de requisitos como uma espécie de lista de verificação e garantir que não está faltando algo necessário.

HLGEM
fonte
Eu provavelmente tenho que começar pequeno como você disse, porque muitos colegas de trabalho importantes que eu admiro estão muito ocupados com prazos / problemas de produção. Sua última solução alternativa de ficar sozinho e explicar como meu próprio código parece ser a coisa mínima que posso fazer a seguir. É uma boa ideia e lembro-me de ler sobre isso uma vez como a Rubber Duck Debugging. pt.wikipedia.org/wiki/Rubber_duck_debugging
burnt1ce
5

Nenhuma ferramenta sofisticada, na minha opinião, poderia substituir a sessão por um desenvolvedor ou arquiteto sênior e percorrer o código (ou o código deles, e ver o que eles fizeram em primeira mão). Dito isso, descobri que o código de teste de unidade obriga a pensar de maneira reutilizável, além de incorporar padrões que podem tornar seu código mais legível (com o benefício adicional de um código testado melhor).

abellina
fonte
1
O teste de unidade IMHO obriga a pensar de maneira testável por unidade, nada mais, nada menos. As pessoas costumam afirmar que isso tornará o código mais reutilizável, mas na minha opinião isso é algum tipo de lenda urbana.
Doc Brown
Aqui estão meus dois centavos e meu raciocínio por trás do aspecto da reutilização: a maioria dos testes de unidade que eu lidei em algum momento ou outro com objetos simulados. Isso força você a pensar em como testar seu software posteriormente, mas também ajuda a pensar nas interfaces entre seus objetos. Essas interfaces, por sua vez, que objeto falso simulariam, o IMHO poderia levar você ao caminho de um código mais reutilizável (no entanto, isso é uma arte). Se você pode projetar claramente interfaces lean, pode facilmente zombar e, por sua vez, obter um código melhor.
Abellina
2

Você tem boas ferramentas para revisões de código? Tivemos um problema semelhante no meu grupo. Levei algum tempo para instalar um servidor do Reviewboard , e a participação nas revisões de código aumentou. Descobri que as pessoas gostam de comentar sobre o código quando é fácil.

Ben
fonte
2

Você realmente deve considerar reservar um tempo para fazer revisões de código, porque, na minha experiência, vale a pena o esforço em relação à qualidade do seu código. Se a revisão de código não for uma opção na sua equipe e você quiser entender como as pessoas pensam, talvez a programação em pares seja uma opção para você. Você recebe feedback imediato sobre o que está digitando - algo como uma revisão instantânea.

Benni
fonte