Ultimamente, tenho revisado muito o código e não tenho certeza dos efeitos positivos e negativos e do profissionalismo de colocar comentários positivos e / ou engraçados nos comentários.
Usamos o Github como nossa plataforma de revisão de código em minha equipe, para que os comentários sejam visualizados por qualquer pessoa. Geralmente, tento usar essa plataforma para que todo o processo do início ao fim seja visível e histórico.
Respostas:
É importante destacar aspectos positivos e negativos. Sei que, se estivesse revendo o refator de um subsistema infernal específico em algo arrumado e limpo, provavelmente compraria uma pizza ao programador por seus esforços.
Se você estiver usando comentários como treinamento, é duplamente importante - destacar um bom código será útil para os programadores juniores também revisarem esse código. Eles terão a chance de fazer perguntas sobre por que uma abordagem ou técnica específica é melhor que outra.
fonte
Engraçado: guarde para o bebedouro, exceto em doses mínimas - não é necessário ter uma cara de ameixa para revisar o código.
Positivo: Certamente. A revisão inclui tanto positivo quanto negativo / construtivo, por definição.
O feedback positivo ajuda a todos:
Para quem recebe o polegar para cima, você reforça a confiança deles e os inspira a fazer mais do mesmo através do seu feedback positivo.
De resto, como outros já mencionaram, eles aprenderão o que fazer e o que não fazer . Eles também serão incentivados a se destacar, para que eles também possam um dia estar em destaque.
Certa vez, trabalhei para um chefe que era liberal em seu feedback positivo - a equipe foi muito bem-sucedida e produtiva como resultado. Ele seguiu em frente, e outros assumiram que não possuíam a capacidade de elogiar um trabalho bem feito. Produtividade e moral caíram, e muitos dos melhores membros da equipe deixaram a empresa.
fonte
Eu diria que manter os comentários limpos e direto ao ponto, exatamente por causa da cultura.
Você não pode evitar que algumas pessoas tomem as coisas da maneira errada.
Para atenuar isso, uma conversa pessoal vai facilitar as coisas, se não for possível enfrentar pessoalmente, conversar, enviar e-mail ou skype.
fonte
Comentar em uma revisão de código está gerenciando
Tratar comentários como uma ferramenta de gerenciamento
Inserir comentários em uma revisão de código é uma forma de gerenciamento. Como tal, deve ser abordada como uma ferramenta de gerenciamento.
Use práticas gerenciais ao comentar
Existe uma estrutura para gerenciar pessoas em que o objetivo é atingir o resultado desejado. Algumas das principais abordagens de gerenciamento não serão aplicadas nos comentários, mas a maioria será. Os tópicos aplicáveis incluem ambiente, liderança, organização e controle.
Meio Ambiente
Cultura
O ambiente dita o estilo de gerenciamento. A cultura e o ambiente do local de trabalho devem ser lembrados ao usar qualquer ferramenta de gerenciamento. Geralmente, isso é afetado pelo setor e pelo tamanho da empresa ou entidade que está sendo gerenciada.
Estilo
Se houver uma cultura alegre, isso pode se deparar com o estilo de gerenciamento usado. Se houver diretrizes, políticas e conseqüências muito estritas, isso deve se refletir no estilo usado. Então, se todos estão a bordo de uma piada de Guerra nas Estrelas referenciando dróides e um stormtrooper de mente fraca, uma interjeição cômica pode ser aplicável. No entanto, se houver consequências terríveis de não levar o resultado final a sério, talvez seja necessário evitá-lo.
Liderança
Fundamentos
Existem três pilares principais de liderança a serem considerados ao comentar. Ou seja, são visão, comunicação e julgamento.
Vision
É importante ter em mente a grande visão ao explicar ou dar instruções. Nos comentários, isso pode significar apontar como as pequenas mudanças afetam o projeto como um todo, quais são as implicações de adotar abordagens diferentes ou uma dica para separar as preocupações.
Communication
Ser um bom comunicador é importante em muitos aspectos da vida. Não é diferente nos comentários. Empregar um nível sábio de brevidade é importante - especialmente porque os comentários não devem ocupar muito espaço. Vá direto ao assunto e faça backup com um exemplo, se necessário. Em uma organização maior, isso também pode incluir a necessidade de enviar um comunicado ou nota se o problema não estiver localizado em uma sessão de revisão.
Judgement
É importante que a estratégia seja usada ao julgar se os comentários precisam ou não ser feitos e quais são as alterações. Seu julgamento nem sempre precisa ser correto, mas precisa ser consistentemente correto, especialmente quando grandes solicitações de julgamento são feitas.
Organização
Do ponto de vista gerencial, a organização se refere a manter o objetivo final em mente e garantir que os processos estejam alinhados para seguir um conjunto de regras. Os comentários também devem ter isso em mente, pois quando possível, os comentários devem ser construídos um para o outro para garantir que o fluxo do design seja seguido. Também será importante ter em mente o escopo do código que está sendo revisado para reduzir o acoplamento e seguir o design geral.
Controlando
Controlar as ações daqueles que estão sendo gerenciados é um processo delicado. Embora firme, também deve-se ter em mente que as pessoas são importantes. Existem várias habilidades gerenciais para usar ao controlar outras pessoas. Essas habilidades são políticas, conceituais, interpessoais, diagnósticas e técnicas.
Político
A política pode ser encontrada sempre que houver interação entre as pessoas. É um tópico enorme, mas, em um sentido geral, a política gira em torno da influência. É importante ter em mente as políticas pessoais e profissionais em ação ao fazer um comentário. Isso pode estar relacionado a uma instrução, uma piada ou mesmo uma pergunta.
Conceptual
Gerenciando através da conceituação é uma ferramenta importante. Requer uma análise complexa da situação em questão. Ao comentar, pode ser benéfico incluir algumas das análises usadas para chegar à conclusão ou alteração indicada na revisão.
Interpessoal
As habilidades interpessoais são muito importantes no gerenciamento. Este também é um tópico grande. Algumas das coisas importantes a serem consideradas nas habilidades interpessoais são mentoria, críticas construtivas e "arpões".
Mentoring
É importante que o gerenciamento seja visto mais como um mentor do que como um antagonista. Em uma revisão de código, isso significa que, às vezes, será benéfico incluir um aceno em um padrão ou abordagem de design que pode ser usado para melhorar uma situação.
Constructive Criticism
A crítica é importante porque invoca reflexão. No entanto, as críticas devem ser mantidas o mais positivas possível, quando possível. Isso significa oferecer evidências válidas para apoiar as críticas e também garantir que o tom usado não seja negativo. Ao revisar o código, isso pode incluir a exibição de uma exceção ou cenário possível que geraria um erro e, ao mesmo tempo, implicaria uma solução, em vez de mostrar todos os locais incorretos quando todo o código precisaria ser substituído de qualquer maneira.
"Harpooning"
"Arpão" é quando você arpoa figurativamente alguém no chão. Isso é feito dividindo-os passo a passo, sem qualquer indulto, até o ponto em que eles se sentem incapazes de se levantar. Se você arpoar uma pessoa em uma revisão de código ou em outro lugar, você perderá a cooperação. É importante evitar derrubar alguém excessivamente.
Sumário executivo
Trate os comentários em uma revisão de código como uma ferramenta gerencial. Lembre-se de que os comentários devem ser breves, diretos e construtivos. Certifique-se também de que, ao comentar a pessoa que está sendo revisada, seja levada em consideração.
fonte
As revisões de código são uma ferramenta para melhorar a qualidade do código, em parte descobrindo defeitos. Mais importante, você deseja incutir boas práticas de codificação.
Nesta perspectiva, é importante comentar sobre as coisas bem feitas. Em um contexto de treinamento, as melhorias também devem ser comentadas. Se sua cultura é de melhoria contínua, você deve sempre comentar sobre as melhorias.
Erros, erros e codificação incorreta acontecerão. Apontá-los de maneira não pessoal e tratá-los como esperado.
Do ponto de vista da modificação comportamental, a recompensa é muito melhor em produzir mudanças do que punições. Eu consideraria ter um bom trabalho percebido como recompensa.
fonte