Etiqueta para reverter o trabalho de outras pessoas

8

Recentemente, tive uma discussão com um colega de equipe de que "não os consultava antes de reverter", porque os faz "parecer um idiota". (Por contexto, este é um projeto universitário, e a reversão foi sobre colocação de código.)

Isso me faz pensar: qual é a norma para informar ao colaborador que uma reversão precisa ser feita? Como você diz a eles que precisa reverter esse comprometimento sem instigar ressentimentos?

tyteen4a03
fonte
Pergunte à pessoa "ei, você se importa se eu mudar seu código assim ...?"
Bryan Oakley

Respostas:

11

Tenha revisões de código.

Isso deve resolver a maioria deles, se você estiver usando um commit, ainda poderá fazer solicitações pull, mesmo que seja apenas para outra pessoa revisar em sua equipe.

Se houver erros, a culpa é da equipe e não apenas de uma pessoa.

Se você não quiser fazer isso por algum motivo, não há uma maneira fácil de fazer isso. Você não tem um processo para inserir código no repositório, então, bem, não se surpreenda quando os sentimentos das pessoas se machucarem.

Como geralmente acontece, quando você encontra situações em que faz coisas que frustram outras pessoas, normalmente é bom conversar com elas antes de executar a ação. Nesse caso, provavelmente significa conversar com seu colega e perguntar: "Estou pensando em reverter o X por causa de [razões] - o que você acha?"

enderland
fonte
Dito isto, pode ser extremamente difícil ter revisões de código para projetos universitários, na minha experiência. Todos os meus projetos na universidade lutaram para encontrar um tempo para colocar todos na mesma sala! É mais fácil no setor, mas isso pode exigir convencer os gerentes a ver o mérito de tais análises e, mesmo assim, pode não haver análises sobre todos os commits.
Kat
Dito isto, minha experiência com projetos universitários também envolveu muita substituição das mudanças de outras pessoas, porque elas não podiam nem fazer coisas como escrever código no estilo consistente ou escrever implementações extremamente problemáticas. A falta de um gerente na maioria dos projetos universitários é uma grande limitação para que as pessoas trabalhem bem juntas (sem mencionar os numerosos estudantes sem experiência no setor ou mesmo uma compreensão do que é um código bem escrito).
Kat
3

Você teve um bom motivo para reverter o commit dele ou não. Se você tinha um bom motivo, então "me faz parecer um idiota" não é um bom contra-argumento. Dito isto, seria educado informar a pessoa primeiro sobre os motivos para evitar argumentos.

E tudo isso dito, seria muito melhor ter revisões de código, portanto, esperamos que a reversão nunca ocorra - pode acontecer que um commit seja rejeitado, mas você não deve entrar na situação em que é revertido.

gnasher729
fonte
"" me faz parecer um idiota "não é um bom contra-argumento" É absolutamente. Em qualquer ambiente de trabalho razoável, você quer ser gentil com seus colegas de trabalho, não fazê-los pensar que os está menosprezando. Existem muitas maneiras melhores de fazer isso do que reverter alegremente o código que não é seu.
thedayturns
2

A questão raiz deste assunto é "quem possui o componente em um nível técnico"?

Se não houver resposta para isso, ou se a resposta for "todos nós fazemos" ou "ninguém faz" ou você simplesmente fica com uma aparência confusa e ninguém vê um problema, não gaste sua energia e encontre outro emprego.

Se houver uma resposta e as conversas com o trocador não levaram a um acordo, converse com o proprietário e o trocador, faça seu caso e deixe o proprietário decidir.

A responsabilidade compartilhada está na raiz de todas as bases de código deploráveis ​​e funcionários miseráveis.

Martin Maat
fonte
1

Eu acho que é justo pedir para ser consultado se alguém tiver um investimento de tempo significativo em alguma coisa, especialmente se for bem recente. É melhor chegar a um consenso primeiro. Idealmente, você convenceria a pessoa a reverter a si mesma.

Se você se deparar com um desentendimento que não consegue resolver, consulte uma terceira pessoa. Deixe a maioria dos votos vencer ou verifique se a terceira pessoa é um desenvolvedor líder.

Às vezes você precisa deixar as coisas acontecerem, não precisa vencer todas as batalhas. Certifique-se de que você foi ouvido.

Eu acho que é saudável não se apegar ao código que você escreve. Eu reverto meu próprio código com bastante frequência; outras pessoas devem poder fazer o mesmo quando apropriado.

Joppe
fonte
1

Não basta reverter, deixe que eles mesmos revertam.

Razões típicas que você pode fornecer ao solicitar uma reversão:

  • "Seu Commit XYZ quebra isso e aquele caso de usuário / funcionalidade / caixa de teste"
  • "O seu Commit XYZ não segue os nossos padrões de codificação, por exemplo, indentação incorreta"
  • "Seu Commit XYZ viola nossos processos organizacionais, por exemplo, compromete-se com o componente A e deve ser revisado antes do commit pelo proprietário do componente B"

Apenas razões para reverter algo que não foi feito por você

  • A pessoa é estendida (férias / doença)
  • A confirmação quebrou a compilação ou faz algo que impede que outros membros da equipe façam seu trabalho.
  • O commit do buggy já está em produção e precisa ser corrigido o mais rápido possível
arqueado
fonte