Etiqueta para revertir el trabajo de otros

8

Recientemente tuve una discusión con un compañero de equipo de que "no los consultaba antes de revertir" porque los hace "parecer un idiota". (Para el contexto, este es un proyecto universitario, y la reversión fue sobre la colocación del código).

Esto me hace preguntarme: ¿Cuál es la norma para informar al confirmador que debe hacerse una reversión? ¿Cómo les dice que necesita revertir este compromiso sin instigar resentimientos?

tyteen4a03
fuente
Pregúntele a la persona "oye, ¿te importa si cambio tu código de esta manera ...?"
Bryan Oakley

Respuestas:

11

Tener revisiones de código.

Eso debería resolver la mayoría de ellos, si está utilizando una confirmación, aún puede hacer solicitudes de extracción, incluso si es solo para que otra persona la revise en su equipo.

Si se cometen errores, entonces es culpa del equipo y no solo de una persona.

Si no quieres hacer eso por alguna razón, no hay una manera fácil de hacerlo. No tiene ningún proceso para ingresar código en el repositorio, entonces, bueno, no se sorprenda cuando los sentimientos de las personas se lastimen.

Como suele ser el caso, cuando te encuentras con situaciones en las que haces cosas que frustrarán a los demás, normalmente es bueno hablar con ellos antes de realizar la acción. En este caso, probablemente significa hablar con su colega y preguntarle: "Estoy pensando en revertir X por [razones]: ¿qué piensa?"

Enderland
fuente
Dicho esto, en mi experiencia puede ser extremadamente difícil tener revisiones de código para proyectos universitarios. ¡Todos mis proyectos en la universidad tuvieron problemas para encontrar un momento para poner a todos en la misma habitación! Es más fácil en la industria, pero eso podría requerir que los gerentes convincentes vean el mérito de tales revisiones e incluso entonces puede que no haya revisiones en todos los compromisos.
Kat
Dicho esto, mi experiencia con proyectos universitarios también implicó sobrescribir los cambios de otras personas porque ni siquiera podían hacer cosas como escribir código en el estilo consistente o escribir implementaciones extremadamente defectuosas. La falta de un gerente en la mayoría de los proyectos universitarios es una limitación importante para lograr que las personas trabajen bien juntas (sin mencionar los numerosos estudiantes sin experiencia en la industria o incluso una comprensión de qué es un código bien escrito).
Kat
3

O tenías una buena razón para revertir su compromiso, o no lo hiciste. Si tenía una buena razón, entonces "hacerme parecer un idiota" no es un buen argumento en contra. Dicho esto, sería educado informar primero a la persona sobre las razones para evitar discusiones.

Y todo lo dicho, sería mucho mejor tener revisiones de código, por lo que espero que la reversión nunca suceda, podría suceder que se rechace una confirmación, pero no debe entrar en la situación en la que se revierte.

gnasher729
fuente
"" me hace ver como un idiota "no es un buen argumento en contra" Lo es absolutamente. En cualquier entorno laboral razonable, debe ser amable con sus compañeros de trabajo, no hacerles creer que los está menospreciando. Hay muchas maneras mejores de hacerlo que revertir alegremente el código que no es suyo.
thedayturns
2

La pregunta fundamental de este asunto es "¿quién posee el componente a nivel técnico"?

Si no hay una respuesta a esto, o la respuesta es "todos lo hacemos" o "nadie lo hace" o simplemente se ve deslumbrado y perplejo y nadie ve un problema, no desperdicie su energía y busque otro trabajo.

Si hay una respuesta y las conversaciones con el cambiador no condujeron a un acuerdo, converse con el propietario y el cambiador, haga su caso y deje que el propietario decida.

La responsabilidad compartida es la raíz de todas las bases de código deplorables y los empleados miserables.

Martin Maat
fuente
1

Creo que es justo pedir que se le consulte si alguien invierte mucho tiempo en algo, especialmente si fue bastante reciente. Es mejor llegar a un consenso primero. Lo ideal sería convencer a la persona para que revierta a sí misma.

Si se encuentra con un desacuerdo que no puede resolver, consulte a una tercera persona. Deje que gane la mayoría de votos o asegúrese de que la tercera persona sea un desarrollador líder.

A veces necesitas dejar ir las cosas, no tienes que ganar cada batalla. Asegúrate de ser escuchado.

Creo que es saludable no apegarse al código que escribes. Revierto mi propio código con bastante frecuencia, otros deberían poder hacer lo mismo cuando sea apropiado.

Joppe
fuente
1

No solo revierta, déjelos revertir ellos mismos.

Razones típicas que puede dar al solicitar una reversión:

  • "Su Commit XYZ rompe esto y ese caso de uso / funcionalidad / caso de prueba"
  • "Su Commit XYZ no cumple con nuestros estándares de codificación, por ejemplo, sangría incorrecta"
  • "Su Compromiso XYZ viola nuestros procesos organizacionales, por ejemplo, los compromisos con el componente A deben ser revisados ​​antes del compromiso por el propietario del componente B"

Solo razones para revertir algo no hecho por ti

  • La persona se extiende lejos (vacaciones / enfermedad)
  • El commit rompió la compilación o hace algo que impide que otros miembros del equipo hagan su trabajo.
  • El buggy commit ya está en producción y debe repararse lo antes posible
Arved
fuente