Un programador dedicó algo de trabajo al repositorio SVN y luego se fue a su casa. Después de que él se fue, la construcción automática de Hudson falló. Otro programador vio esto, y después de revisar los cambios en el código, detectó que el problema era la ausencia de una biblioteca. Agregó esta biblioteca a SVN y la próxima compilación se completó con éxito.
¿El segundo programador hizo lo correcto o debería haber esperado hasta que el primer programador solucionó el problema?
Respuestas:
Depende en cierta medida del funcionamiento de su equipo, pero diría que estuvo bien. Mantener la compilación funcionando ahorra tiempo a todos los demás.
Es cortés que el segundo programador envíe un correo electrónico al primero para explicar lo que ha hecho, en caso de que se necesite una versión específica de la biblioteca o haya alguna otra complicación. También es una forma un poco más sutil de señalar que habían roto la construcción.
fuente
Depende.
¿El error es tan obvio que agregar una biblioteca es la forma de solucionarlo? A veces, la solución es encontrar una solución alternativa para no necesitar esa biblioteca.
¿Está el proyecto en una fase donde todos los cambios deben estar vinculados a un ticket existente? Si es así, ¿presentó una multa? ¿Te han asignado ese boleto?
De todos modos, concéntrate en arreglar el error, no en culpar al responsable.
fuente
Si esta bien. Sin embargo, no es profesional que el programador original se vaya a casa antes de probar si la compilación se compilará.
Tu reputación está 100% bajo tu control. Cosas como esta empañan su reputación y tratar de pulir una reputación empañada es muy difícil.
fuente
Comunicar
No hay reglas estrictas (además de las reglas de su propio equipo) para ese escenario.
Dev2 debería poder decirle a dev1 que puede corregir su error, ninguno de los dos debería temer a algo resultante de este intercambio, son parte de un equipo.
fuente
Por qué no? Si su producto es más importante que corregir culpas, sin duda está bien. Aunque un error de compilación debido al cambio de biblioteca es bastante lamentable y debe reprender al desarrollador por no probarlo.
fuente
Las fallas de construcción suceden. Si es importante que suceda una compilación diaria, lo arreglaría y luego solicitaría que el desarrollador que verificó el código roto revise la corrección al día siguiente y se asegure de que el código esté ahora como debería ser.
Como se ha dicho, el tipo que lo arregló probablemente debería enviar un correo electrónico al tipo que lo rompió y detallar cuál fue la solución.
fuente
Mi lema es no comprometerse con SVN después de las 3 p.m. de esa manera, siempre puede corregir sus propios errores de compilación.
Si no arregla su falla de construcción, entonces la construcción de todos los demás también fallará. Lo arreglaría para ahorrar tiempo a largo plazo, pero asegúrese de que sepan que tuvo que arreglarlo.
¡Tener algún tipo de guión de 'señalar con el dedo de la culpa' es una buena manera de hacer esto, o hacer que la persona que rompe la construcción compre donas!
fuente
Alguien necesita arreglarlo y el primer programador no debería haberse ido a casa sin asegurarse primero de que no había roto la compilación. Sin embargo, para un problema tan fácil de solucionar, llamarlo nuevamente para que lo solucione sería extremo.
Estoy de acuerdo con la sugerencia de Luke Graham de enviar un correo electrónico explicativo, aunque diría que es más que cortés, es una comunicación básica.
fuente
¡Si si si! Fomenta la propiedad del código colectivo y establece una especie de saludable presión de grupo en el equipo para mantener un alto estándar y no permitir que se desarrolle un escenario de ventana rota. Un poco de comunicación para que el otro desarrollador sepa es una buena idea.
fuente
Creo que está bien arreglar cosas obvias, es decir, si está 100% seguro de que el tipo cuyo código está arreglando haría la misma solución, o sustancialmente la misma. Si la solución es más compleja, por lo general es cortés hablar con la persona cuyo código está arreglando; puede ser que haya entendido mal la intención o que la razón de la ruptura no sea lo que pensaba, o tal vez haya intentado otra solución pero por alguna razón no pude cometerlo todavía (la vida pasa, ya sabes :).
En general, la regla generalmente es: se rompe la compilación: se repara la compilación, pero hay excepciones, especialmente si la solución es obvia y / o la persona responsable es inalcanzable.
Por supuesto, si tiene el caso de un interruptor de compilación en serie, especialmente con el patrón "registrado, se fue a casa, la estructura se rompió durante días", la persona responsable necesita hablar sobre por qué existen los sistemas y pruebas de CI y cómo se debe verifique antes de registrarse :)
fuente
Las cosas pasan. La falla al agregar un nuevo archivo de código (ya sea fuente o compilado) a Subversion es probablemente la causa más común de compilaciones rotas, suponiendo que funcionó en la computadora del desarrollador. En mi último trabajo con un entorno de CI, incluso los hombres más veteranos a veces se olvidaban.
Creo que si otra persona pudo arreglar la construcción y así mantener al equipo tarareando, está bien. Creo que el programador que se fue a casa necesita al menos un correo electrónico amigable que indique lo que sucedió, y para recordarle que se asegure de que se agregue un nuevo código antes de las confirmaciones. Si sucede con frecuencia, tal vez haga que sea un delito menor que se castiga con la "danza de la vergüenza", para ayudar a reducir las ocurrencias (y aligerar el estado de ánimo).
fuente
Depende de la dinámica del equipo, pero en un mundo ideal, todos en el equipo "poseerían" todo el proyecto, todo el código y, en consecuencia, todos los errores conjuntamente. Entonces, si encuentra un problema, lo soluciona y se comunica con el creador del error solo si hay algún valor agregado específico al código al hacerlo.
fuente
Está bien arreglarlo, a menos que sea algo habitual, en cuyo caso el jefe lo llamaría y lo haría regresar y arreglarlo él mismo.
fuente
Depende, depende ...
Como programadores, nuestro trabajo es hacer que las cosas funcionen, no juzgar a las personas. Entonces, diría que lo mejor que puede hacer es arreglarlo, o si no es obvio, simplemente retroceda los cambios y avísele al primer programador para que pueda arreglarlo más tarde.
De todos modos, tener al último hombre que rompió la construcción para usar un sombrero extraño es suficiente para prestar más atención la próxima vez ^ _ ^
fuente
En algunos entornos, esto es muy grosero, y por buenas razones. En otros entornos, se espera, y por buenas razones.
En otros entornos, es muy grosero o esperado por muy malas razones.
Depende en gran medida de la importancia de una compilación rota en comparación con la importancia de una compilación correcta verificada. Y hasta cierto punto, depende de cuán obvio sea que la solución fue la correcta y la única necesaria.
fuente
Primero, "fue a casa" es un anacronismo. Los programadores ya no se van a casa, solo están conectados o desconectados. Podrías hacer ping y esperar.
Más en serio, en realidad hay dos partes en la pregunta. 'mirar a través de los cambios de código' está bien; descansar puede no ser lo correcto. ¿Qué pasa si su juicio de una biblioteca perdida era incorrecto?
fuente