¿Cuál es el proceso de revisión de código en el desarrollo de software ágil y cuáles son las herramientas disponibles para ello?

Tengo experiencia en el uso de Code Collaborator para la revisión por pares.

Code collabortor le permite cargar los archivos que ha agregado o cambiado, marcar para revisión, por quién debe ser revisado, incluso agregar a alguien como observador.

Permite al revisor agregar comentarios, generar errores menores / mayores, volver a trabajar hasta que el código sea aceptable.

Se sigue una lista de verificación mientras se revisa el código que cubre la mayoría de los aspectos:

  1. El código es funcional
  2. Unidad comprobable
  3. Fácil de depurar: se registra correctamente en los lugares correctos y la información correcta.
  4. Sangría y legibilidad
  5. Manejo adecuado de excepciones en implementado
  6. Sin codificación dura, repetición de código
  7. El código es escalable
  8. Sin agujeros de seguridad
  9. Se considera la optimización.
  10. Concurrencia, se examinan los problemas de seguridad de los hilos.

Espero eso ayude.

Hasta donde yo entiendo, el proceso lo decide el equipo. Si el equipo decide hacer la programación de pares, el código escrito siempre será revisado por otra persona en todo momento.

Sin embargo, si el equipo decide que el desarrollador puede trabajar en cada tarea individualmente, el desarrollador crea una rama separada de corta duración y trabaja en la tarea, una vez completada, el desarrollador crea una solicitud de extracción y el código y luego el equipo lo revisa para detectar cambios o retroalimentaciones menores para mejora. Una vez que se aprueba la revisión, los cambios se fusionarán en la rama principal (por ejemplo, la rama maestra o de desarrollo, depende de cómo se llame)

La única herramienta que utilizamos para la revisión de código es la solicitud de extracción de git y compartir el enlace con el equipo para que cualquier persona en el equipo pueda echar un vistazo mientras esté disponible o hacer un recorrido de código yendo juntos frente a la computadora usando la herramienta git diff.

Bueno, mi equipo usa el tablero de revisión. Puede conectar una especie de analizadores de pelusas que hacen el trabajo de burro y luego tiene dos revisores. No hay reglas para seleccionar revisores, pero creo que alguien que conoce el área del código (si está mejorando) y alguien que no funciona bien. Sin embargo, los errores aún se escapan y yo diría que la mejor práctica es mantener las revisiones pequeñas antes de que la naturaleza humana se haga cargo y simplemente diga “enviarlo” porque está aburrido más allá de lo creíble.

More Interesting

Veo muchos desarrolladores que muestran su configuración con varios monitores. ¿Es realmente útil / necesario trabajar con más de un monitor?

Cómo convertirse en un programador más lento

¿Debo perseguir el desarrollo de back-end o front-end?

Cómo hacer un diagrama de flujo de datos para un sistema de gestión de bibliotecas

¿Qué lenguajes de programación de uso general son excelentes, eficientes y agradables de escribir y usar?

Acabo de leer Peter Norvig "Teach Yourself Programming in Diez años". ¿Realmente necesita tanto tiempo? ¿Puedes compartir tu experiencia aquí?

¿Qué lenguajes de programación debe saber un desarrollador de software?

¿Es más difícil convertirse en un ingeniero de software que un probador de software?

¿Qué papel en un proyecto de software cree que le conviene más: PM, SA, TL, Dev, Tester? ¿Por qué?

¿Cuáles son las principales diferencias entre la informática y la ingeniería de software (por ejemplo, en demanda, valor y curso)? Necesito hacer BS pero no puedo decidir cuál elegir.

¿Cuál es la mejor manera de autodidacta las habilidades y el conocimiento adquiridos en un título de informática típico, suponiendo que una persona solo tenga un conocimiento funcional de las computadoras?

¿Debo comenzar una carrera oficial como ingeniero de software a los 17 años, o esperar hasta que me gradúe de la universidad?

¿Cuáles son algunos ejemplos de simulaciones por computadora que modelan el mundo real?

¿Es la edición de captura de pantalla una buena idea para un proyecto de ingeniería de software de último año?

¿Cuál es la demanda de ingenieros de software en Sri Lanka?