Revisión de código fuente de manera ágil

22
Revisión de Código Fuente de Manera Ágil Jose Luis Bugarin CEO ILUMINATIC SAC [email protected] @jlbugarin consultorjava.com – iluminatic.com

Transcript of Revisión de código fuente de manera ágil

Page 1: Revisión de código fuente de manera ágil

Revisión de Código Fuente de Manera Ágil

Jose Luis BugarinCEO ILUMINATIC SAC

[email protected]@jlbugarin

consultorjava.com – iluminatic.com

Page 2: Revisión de código fuente de manera ágil

¿Por qué Debemos cuidar la calidad de nuestro código?

Page 3: Revisión de código fuente de manera ágil

Pensemos…

• "Los programas deben ser escritos para que la gente lea, y sólo las máquinas puedan ejecutarlos “

Abel & Sussman

Page 4: Revisión de código fuente de manera ágil

Cambios en Los Requerimientos

Page 5: Revisión de código fuente de manera ágil

Costo de un Defecto

Page 6: Revisión de código fuente de manera ágil

Defectos en nuestro software

Page 7: Revisión de código fuente de manera ágil

Algunos números referenciales

• Encontrar, la solución de problemas en la producción es 100 veces máscaro que durante la fase de diseño / requisitos

•• 40-50% del trabajo de proyecto típico es "reescribir"• 80% de retrabajo proviene del 20% de los defectos• 80% de los defectos provienen del 20% de los módulos• 90% del tiempo de inactividad viene de 10% de los defectos• Las revisiones cruzadas atrapan 60% de los defectos• Las prácticas personales disciplinado puede reducir los defectos hasta en un 75%

Page 8: Revisión de código fuente de manera ágil

Pero…

• La evidencia es abrumadora, pero ..• Nos parece que nunca tenemos tiempo para

hacerlo, pero siempre parece que encontramos tiempo para "rehacer“ “reescribir” “comenzar desde cero”

Page 9: Revisión de código fuente de manera ágil

¿Qué onda con el QA?

• QA puede o no puede cuidar la calidad de Nuestro software? ¿Por qué los desarrolladores deben cuidar su código?> Porque QA debe o no debe preocuparse por la calidad del diseño y la implementación.> En su lugar, deben preocuparse por "testeos funcionales,aceptación, rendimiento, facilidad de uso, etc.”> Tu desarrollador entrega un software de mejor calidad por lo que QA realmente puede centrarse en"Testeos de funcionalidad"

Page 10: Revisión de código fuente de manera ágil

Deuda Tecnica

• "La deuda técnica" son actividades (como la refactorización, la actualización de unalibrería, codificación estándar, ..) que usted ha dejado de realizar.

Page 11: Revisión de código fuente de manera ágil

¿Cómo mejorar la calidad de nuestro software?

Page 12: Revisión de código fuente de manera ágil

Maneras de mejorar nuestro software

• Comience temprano.

• Programe tiempo para bajar su deuda técnica.• Hacer que funcione (de inmediato).• Requiere vigilancia y el cambio de actitud.• Estar dispuesto a ayudar y ser ayudado.

Page 13: Revisión de código fuente de manera ágil

Esfuerzo Individual

• Preocuparse uno mismo por la calidad de su código.

• > Buenas nombres de las variables, métodos, Método corto, clases más pequeñas,• Debe ser sencillo.• Escribir las pruebas con alta cobertura.• Ejecutar todas las pruebas necesarias.• Compruebe con frecuencia.• Pida retroalimentación.

Page 14: Revisión de código fuente de manera ágil

Esfuerzos de Equipo

• Evitar los atajos.• Hable propiedad colectiva - equipo debe

poseer el código.• Promover la interacción positiva.• Proporcionar retroalimentación constructiva.• revisión de código constante.

Page 15: Revisión de código fuente de manera ágil

Tratar Advertencias (Warning) como errores

• “Es solo una advertencia”• Estas advertencias pueden tener “cosas”

ocultas• Si es inevitable, suprimir selectivamente

Page 16: Revisión de código fuente de manera ágil

Verificación de Código

Page 17: Revisión de código fuente de manera ágil

Cobertura de Código

• ¿Qué cantidad (%) de su código está cubierto por la prueba?• Las herramientas de cobertura de código pueden decir

cuáles y cuánto códigoestá cubierto> Clover> Cobertura> JaCoCo• Algunas herramientas de código de eliminación que no tienen ninguna prueba de> Guantánamo> Ashcroft

Page 18: Revisión de código fuente de manera ágil

Duplicado de Código

• Código duplicado es caro de mantener> Código duplicado es común• Herramientas que permiten detectar la duplicación de código> PMD

Page 19: Revisión de código fuente de manera ágil

Análisis de Código

• Análisis de código para encontrar errores> Los errores lógicos> Codificación, violaciones> Problemas de sincronización y mas• Herramientas> PMD> FindBugs> Jlint

Page 20: Revisión de código fuente de manera ágil

Principios para Generación de Códigos

• Sencillez• Claridad• brevedad• Humanidad

Page 21: Revisión de código fuente de manera ágil

Comentarios en el Código

• Los comentarios deben decir "por qué" o el "propósito" no "cómo"• No comentar lo que hace el código - Soy capaz de leer el código y entenderlo• No conservar la documentación separada del código

Page 22: Revisión de código fuente de manera ágil

Herramientas Recomendadas

• PMD• CHECKSTYLE• FINDBUGS• CODEPRO• SONAR