programa mejor que chuck norris herramientas que nos ayudan a mejorar

12
@rafbermude z #codemotion_es Rafael Bermúdez Míguez @rafbermudez [email protected] Programa mejor que Chuck Norris: Herramientas que nos ayudan a mejorar MADRID · NOV 27-28 · 2015

Upload: rafbermudez

Post on 16-Feb-2017

967 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

● Rafael Bermúdez Míguez ● @rafbermudez● [email protected]

Programa mejor que Chuck Norris: Herramientas que nos ayudan a mejorar

MADRID · NOV 27-28 · 2015

Page 2: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

De qué va esta película• Nadie programa como Chuck Norris, y lo sabes• Testear NO MOTIVA• Es difícil seguir las convenciones

• Formato de código• DRY• Mejora continua • Buenas prácticas

• Necesitamos métricas, pero el trabajo administrativo es horrible• Figura de “el perseguidor”

Page 3: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

GRACIAS

www.ets.es

Page 4: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Cobertura del código• Mide las partes del código que han sido comprobadas

• Groovy: Test Code Coverage• https://github.com/beckje01/grails-code-coverage

• Configura las partes que te interesen

• haltOnFailure• lineRate• branchRate

Page 5: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Cobertura: Provoca Buenas PrácticasList<Personas> Saludar(List<Persona> personas, Boolean esFeliz){

if (esFeliz){ //golpe de barba return personas[0..<-1]

} else{ //patada voladora return []

}}

List<Personas> Saludar(List<Persona> personas, Boolean esFeliz){

if (esFeliz){ return golpeDeBarba(personas)

} else{ return patadaVoladora(personas) }}

ENTENDIBLE, TESTEABLE

Page 6: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Métricas de código• Groovy: Gmetrics

• http://gmetrics.sourceforge.net/

• Métricas de código (Totales y medias)• Lineas por clase• Líneas por función• Puntos de función• Complejidad ciclomática• Complejidad ABC• ...

Page 7: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Complejidad ciclomática

Page 8: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Complejidad ABC

Page 9: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

GMetrics

Page 10: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Análisis estático de código• Útil para

• Seguir buenas prácticas• Establecer convenciones de equipo• Detectar patrones nocivos

• Detectar fallos de seguridad!• Groovy: Codenarc

• http://codenarc.sourceforge.net/• multitud de reglas preconfiguradas• customizable

• crea tus propias reglas

Page 11: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Integración continua• Automatiza

• La compilación desde tu sistema de versionado• La ejecución de test• La generación de reportes• El deploy

• Jenkins• Servidor de integración continua• Automatiza la ejecución de tareas• Chuck Norris Plugin

Page 12: Programa mejor que chuck norris  herramientas que nos ayudan a mejorar

@rafbermudez#codemotion_es

Ahora un poco de acción...

● Rafael Bermúdez Míguez ● @rafbermudez● [email protected]

Programa mejor que Chuck Norris:

Herramientas que nos ayudan a mejorar

MADRID · NOV 27-28 · 2015