Veja como o Facebook faz isso com seu próprio aplicativo, chamado phabricator: http://phabricator.org/
Eles se comprometem basicamente por problema e, para cada problema, o código é mostrado, que deve ser revisado por alguém. O código não entra em seu repositório principal até que o revisor tenha dito que não há problema em fazê-lo.
Eu acho que isso torna mais divertido.
Além disso, talvez um código deva ser atribuído a duas pessoas: uma que o faz e outra que o revisa.
Embora talvez seus colegas de equipe não acreditem nessa crítica.
Pessoalmente, na falta de revisores, usei testes de unidade para funções de nível inferior e "o teste do zelador" para todo o resto: o teste do zelador é chamado dessa maneira, porque até o zelador deve ser capaz de entender seu código.
Geralmente removia algumas partes menores, como colchetes de escopo de bloco / função, notações de visibilidade, às vezes até tipos, e a mostrava a gerentes, especialistas em domínio, parceiros, quem solicitava o código: "é isso que você deseja?"
Além disso, ir para lá pessoalmente e não sair até que a revisão seja feita ajuda.
Ou, caso você não esteja bem com a equipe, ou eles não estejam bem com você, "se você pode 'mudar de empresa, mudar de empresa" ...
Você tem vários problemas a resolver - precisa conquistar corações e mentes e garantir que haja tempo disponível para revisões de código.
A segunda parte é provavelmente mais fácil - você concorda (coletivamente e isso deve incluir o gerenciamento) de que a primeira coisa que um desenvolvedor faz todas as manhãs são as resenhas de códigos - isso é simples, compreensível, eficaz e oferece a você uma boa e clara idéia para derrotar as pessoas. se eles não cumprirem. Melhor, você não está interrompendo nada, não está pedindo para que parem de trabalhar no código deles, não está pedindo para as pessoas colocarem algo em sua lista de tarefas ...
A primeira parte é o problema real - os participantes no processo de revisão precisam vê-lo como tendo valor; caso contrário, nunca farão uma revisão de código (que é percebida como não tendo valor) quando poderiam escrever código ou corrigir bugs (que é certamente mais importante ...?).
Se você puder juntar os dois - primeiro, garantindo que todos acreditem (ou entendam) que há valor nas análises de código -, no mais básico, deve significar menos bugs, o que significa mais código novo, geralmente mais divertido - e depois organizar novamente coisas para que haja um espaço livre na programação para que as revisões de código sejam feitas, então espero que boas coisas aconteçam ... isso se tornará parte da cultura.
Uma vez que faz parte da cultura, pode não ser mais necessário dizer "a primeira coisa todos os dias" - mas tendo dito que acho que se encaixa bem no padrão em que provavelmente se quer que um desenvolvedor trabalhe.
fonte
Na maioria das empresas em que trabalhei, você tem três dias para concluir uma revisão. Não é aceitável não fazer as revisões. Faz parte do seu trabalho. Se você não fizer análises decentes a tempo, isso afetará sua avaliação de desempenho. E sim, as revisões sempre parecem acontecer nos momentos mais inoportunos. Pena, aprenda a incluir o tempo de revisão em suas estimativas. De qualquer forma, se a gerência realmente acredita que as revisões são importantes (isto é, exige que todo o código seja revisado), então adotaria uma política semelhante. Além disso, se as pessoas não concluírem a revisão no prazo estipulado, isso será aceito pelo material.
fonte
Considere usar uma ferramenta como o Painel de Revisão . É muito útil, especialmente para críticas longas.
Você pode fazer o upload dos seus diffs e aguardar até que um revisor termine a revisão. Se você tiver revisões abertas que o impedem de continuar seu trabalho, você pode denunciá-lo durante as reuniões diárias (sua equipe deseja que novos recursos sejam verificados para que possam ser testados o mais rápido possível, não é?).
fonte
Alguns pontos a acrescentar que não estão nas outras respostas.
O código a ser revisado deve ser verificado
As tarefas de bloqueio têm prioridade; portanto, as revisões de código devem ter prioridade sobre outros trabalhos (mas tentando não interromper o fluxo). Como desenvolvedor, você deve desejar que outras pessoas revisem seu código (como você pretende melhorar). Nesse conhecimento, você deve executar revisões para outras pessoas prontamente.
As perguntas mais difíceis são quando e como fazer revisões de código bem.
Uma regra que funcionou para nós no momento é que o código compartilhado deve ser revisado, pois tem um impacto mais amplo, enquanto que no código de um único aplicativo (especialmente porque estamos usando o desenvolvimento orientado a testes) é menos importante.
fonte