Primeiro, permita-me cunhar um termo:
definição de objetivos de código: Fazendo check-out do código pela manhã e revisando silenciosamente todas as alterações feitas pelos outros desenvolvedores no dia anterior, arquivo por arquivo (especialmente os arquivos de código que você desenvolveu originalmente) e corrigindo formatação, lógica, renomeando variáveis, refatorando métodos longos, etc., e depois confirmar as alterações no VCS.
Essa prática tende a ter alguns prós e contras que eu identifiquei:
- Pro : a qualidade / legibilidade / consistência do código é frequentemente mantida
- Pro : alguns erros foram corrigidos devido ao outro desenvolvedor não estar muito familiarizado com o código original.
- Contras : Muitas vezes é uma perda de tempo do desenvolvedor de objetivos.
- Con : Ocasionalmente introduz bugs que causam raiva de puxar os cabelos por desenvolvedores que pensaram ter escrito código sem bugs no dia anterior.
- Contras : Outros desenvolvedores se agravam com o excesso de nitpicking e começam a não gostar de contribuir para o código do concurso.
Isenção de responsabilidade: para ser justo, não sou realmente um gerente de desenvolvimento, sou o desenvolvedor que está realmente cumprindo o "objetivo".
Em minha defesa, acho que estou fazendo isso por um bom motivo (para manter nossa base de códigos extremamente grande uma máquina bem lubrificada), mas estou muito preocupada que isso também esteja criando uma atmosfera negativa. Também estou definitivamente preocupado que meu gerente precise resolver o problema.
Então, se você fosse o gerente, como lidaria com esse problema?
ATUALIZAÇÃO: Não quero que isso seja muito localizado, mas alguns perguntaram, então talvez algum plano de fundo seja esclarecedor. Fui designado para um projeto gigante (200K LoC) há três anos e apenas recentemente (1 ano atrás) foram adicionados desenvolvedores adicionais ao projeto, alguns dos quais não estão familiarizados com a arquitetura, outros que ainda estão aprendendo o idioma (C #). Geralmente, tenho que responder pela estabilidade geral do produto e fico particularmente nervoso quando mudanças são surpreendentemente feitas nas principais partes da arquitetura da base de código. Esse hábito surgiu porque, no começo, eu estava otimista com as contribuições de outros desenvolvedores, mas eles cometeram muitos erros que causaram problemas sérios que não seriam descobertos até semanas depois, onde o dedo seria apontado para mim por escrever um código instável. Muitas vezes estes "