2009-08-24 27 views

Respuesta

14

Siempre realizamos una revisión del código antes de que se haya cometido el código en el maletero. Estoy de acuerdo con el comentario de Neil Butterworth de que los commits frecuentes son algo que debe alentarse y que requerir una revisión del código antes de cada commit inhibe esto.

Las condiciones exactas que funcionarán dependen del entorno y del proyecto. Nuestro entorno es tal:

  • Mantener nuestra línea principal de desarrollo en el maletero
  • tiene una regla que debe tronco siempre de trabajo (es decir, no se comprometan las cosas al tronco que no compilar o no superen las pruebas , etc.)
  • rama para cada caso (función, corrección de errores, etc)
  • Realizar una revisión de código cuando el trabajo en una rama determinada está terminado
  • Combinar la rama hacia abajo en el tronco cuando pasa opinión
  • Cuando se realiza una publicación, etiquetamos la versión y la rama de lanzamiento de oro. Todas las correcciones de errores nuevas para una versión específica tienen lugar en esa rama. Las ramas de liberación nunca se fusionan en el tronco.

En nuestro entorno, esto permite a los desarrolladores a menudo cometen (dentro de los confines de su propia rama) y para revisiones a realizar cada unidad de trabajo (pero no todos los cambios) código.

En cuanto a Cómo realizar una revisión de código, esta es una pregunta mucho más ambiciosa. Uno que merece su propia pregunta en el SO (y en realidad hay ya varios):

https://stackoverflow.com/questions/89163/how-to-conduct-a-successful-code-review Best Peer Code Review Software https://stackoverflow.com/questions/tagged/code-review

+0

Enfoque interesante, ¿qué herramientas usas para simplificar esto para que no haya un montón de pasos involucrados al comenzar a trabajar en un error/característica/lo que sea? –

+0

+1: Esta es una práctica bastante común para todos los proyectos en los que he trabajado. Fácil y simple. –

+0

Utilizamos FogBugz para nuestro seguimiento de casos y Subversion para nuestro control de origen. Cuando comenzamos a trabajar en un caso, simplemente nos ramificamos de trunk con TortoiseSVN y cambiamos nuestra copia de trabajo. Luego, cuando el trabajo esté completo y listo para su revisión, simplemente asignaremos el caso al revisor. Cuando se completa la revisión, el desarrollador original la fusiona en el tronco con TortoiseSVN. Creo que FogBugz 7 (todavía estamos en 6) proporciona administración de flujo de trabajo, por lo que podría automatizar un poco del flujo de trabajo, pero no los pasos de SVN. No hemos encontrado que sea difícil o tedioso seguir este flujo de trabajo. –

1

Antes del check in. El registro a menudo se conecta con el acabado lógico de la función/módulo (depende del programador), por lo que este es un buen momento. Cuando el código está registrado, ya es difícil rastrear quién codificó qué y cuándo.

+3

estoy totalmente en desacuerdo con que una revisión de código debe tener lugar antes de que un registro de entrada. Los registros frecuentes son algo que debe alentarse, y una revisión del código, aunque es una herramienta esencial, solo puede interferir con esto. –

+0

@ Neil, ¿podría responder con sus alternativas por favor? –

+0

También es una buena idea tener cada revisión de un tamaño con el que su equipo se sienta cómodo. Está buscando un equilibrio entre el tamaño de los cambios y la frecuencia con la que se realizan las revisiones. Los trozos son demasiado grandes y los revisores pierden interés y pueden pasar por alto en lugar de prestar mucha atención. Las revisiones demasiado frecuentes podrían posponerse a favor del trabajo real de los revisores. –

1

En cualquier momento que se vaya a registrar un código, antes de realizar el check in. Sin embargo, es posible que desee hacerlo más a menudo dependiendo del proyecto.

Si alguien está trabajando en un proyecto que llevará semanas y no verificará ningún código para ese período, el código debería recibirse a medida que se realizan varios componentes del proyecto. El motivo es que se revisará continuamente el código para asegurarse de que no se repita un patrón de diseño incorrecto a lo largo de todo el proyecto y los cambios necesarios de la revisión sean menores.

También sugeriría que cuanto más joven sea un desarrollador, más a menudo se debe revisar el código.

+4

¿No realiza el check-in durante semanas? El código debe registrarse varias veces al día. –

+0

Quizás una mejor manera sea la promoción a la sucursal matriz en lugar de la facturación. –

Cuestiones relacionadas