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

2,213
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,213
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Revisión de Código Fuente de Manera Ágil Jose Luis Bugarin CEO ILUMINATIC SAC jbugarin@iluminatic.com @jlbugarin consultorjava.com – iluminatic.com
  2. 2. ¿Por qué Debemos cuidar la calidad de nuestro código?
  3. 3. Pensemos… • "Los programas deben ser escritos para que la gente lea, y sólo las máquinas puedan ejecutarlos “ Abel & Sussman
  4. 4. Cambios en Los Requerimientos
  5. 5. Costo de un Defecto
  6. 6. Defectos en nuestro software
  7. 7. Algunos números referenciales • Encontrar, la solución de problemas en la producción es 100 veces más caro 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%
  8. 8. 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”
  9. 9. ¿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"
  10. 10. Deuda Tecnica • "La deuda técnica" son actividades (como la refactorización, la actualización de una librería, codificación estándar, ..) que usted ha dejado de realizar.
  11. 11. ¿Cómo mejorar la calidad de nuestro software?
  12. 12. 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.
  13. 13. 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.
  14. 14. 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.
  15. 15. Tratar Advertencias (Warning) como errores • “Es solo una advertencia” • Estas advertencias pueden tener “cosas” ocultas • Si es inevitable, suprimir selectivamente
  16. 16. Verificación de Código
  17. 17. 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ódigo está cubierto > Clover > Cobertura > JaCoCo • Algunas herramientas de código de eliminación que no tienen ninguna prueba de > Guantánamo > Ashcroft
  18. 18. 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
  19. 19. 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
  20. 20. Principios para Generación de Códigos • Sencillez • Claridad • brevedad • Humanidad
  21. 21. 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
  22. 22. Herramientas Recomendadas • PMD • CHECKSTYLE • FINDBUGS • CODEPRO • SONAR
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×