SlideShare una empresa de Scribd logo
Katayuno TCR

“test && commit || revert”
30 Marzo 2019
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
1. TDD: revisión

2. TCR (test && commit || revert)

3. Presentación de la kata: substring kata

4. Iteración 0: preparación entorno TCR

5. Iteración 1

6. Iteración 2

7. Puesta en común general

8. Posibles desventajas

9. Conclusiones
AGENDA
KATAYUNO TCR
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
• No hemos usado TCR en producción.

• No somos expertos.

• El objetivo es practicar y aprender el nuevo
workflow.
Disclaimer
KATAYUNO TCR
Calentamos motores revisando a
nuestro viejo amigo TDD
T D D : R E V I S I Ó N
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
Ciclo de TDD
TDD: REVISIÓN
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
• No escribirás ningún código de producción sin
antes tener un test que falle.

• No escribirás nada más que un test unitario que
sea suficiente para fallar.

• No escribirás nada más que el código de
producción necesario para hacer pasar el test.
Leyes de TDD
TDD: REVISIÓN
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
Ciclo de TDD completo
TDD: REVISIÓN
https://rachelcarmena.github.io/img/cards/posts/test-driven-programming-workflows/workflows.png
Sí, sí, TDD mola pero… ¿la vida
moderna es programar con TCR
no?
T C R
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
• Popularizado por “O Rei” Kent Beck

• Test && commit || revert (TCR) by Oddmund
Strømme, Ole Tjensvoll Johannessen and Lars
Barlindhaug

• test && commit || revert
Nuevo workflow: TCR
TRC
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
Ciclo TCR completo
TCR
https://rachelcarmena.github.io/img/cards/posts/test-driven-programming-workflows/workflows.png
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
TDD vs TCR
Test-driven programming workflows
Vamos a poner en practica TCR
con una kata, substring kata
K A T A
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
Implementar una función de la siguiente manera
substring(left, right, start, stop). La función debe devolver
las cadenas concatenadas (left y right), desde el índice de
inicio (start) hasta el índice de parada (stop).
Explicación de la kata
SUBSTRING KATA
Iteración 0: preparación entorno TCR
S U B S T R I N G K A T A
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
https://github.com/islomar/tcr-workshop
Preparación entorno TCR
ITERACIÓN 0
Iteración 1
S U B S T R I N G K A T A
Iteración 2
S U B S T R I N G K A T A
Puesta en común general
S U B S T R I N G K A T A
Que sí, que sí, que esto de TCR mola
pero… ¿y las desventajas?
P O S I B L E S D E S V E N T A J A S
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
• ¿Qué pasa si no compila?
• Problema: un problema de tipado o sintaxis dispara el revert.

• Posible solución: incluimos un paso precio para compilar BTCR

• Borrado constante de los tests.
• Problema: todo se revierte, incluidos los tests.

• Puede no ser un problema real: te fuerza a nano-steps cuando escribes los tests.

• Posible solución: hacer que pase la negación del test

• Falso verde.
• Problema: si no estás primero en rojo, puede añadir un test el cual no hace nada.

• Posible solución: negar el test después de que pase y ver cómo se hace el revert.
Desventajas
POSIBLES DESVENTAJAS
CONCLUSIONES
C O N C L U S I O N E S
Q U I U T W I S I V O C I B U S S U S C I P I A N T U R
• Te fuerza a seguir nano-steps.

• Te fuerza a pensar: “¿cómo puedo hacer este
cambio con un paso más pequeño?”.

• Feedback muy rápido para no tirar mucho trabajo.

• Frustración al ver cómo tu código desaparece.
Conclusiones
TCR
Gracias ;)
K A T A Y U N O T C R

Más contenido relacionado

PPTX
Artalde Tdd intro
PDF
Diseños y cornstrucción deuna maquina de golberg
PPT
Amplificador clase c transistorizado
PPT
Nuestra otra historia_de_waterfall_a_kanban_ - resumen
PPTX
Sesion 4- Administración de Operaciones II.pptx
PDF
PDF
Practicas 2016
PPTX
Aniuska programación
Artalde Tdd intro
Diseños y cornstrucción deuna maquina de golberg
Amplificador clase c transistorizado
Nuestra otra historia_de_waterfall_a_kanban_ - resumen
Sesion 4- Administración de Operaciones II.pptx
Practicas 2016
Aniuska programación

Similar a Katayuno TCR (test && commit || revert) (20)

PDF
Manual estructura de_datos_2010___h._caselli_g
PDF
Control de tres términos
DOCX
Confiabilidad
PPT
PERT CPM (1).ppt
PDF
Ponele el TURBO al Dev Team de tu Startup
PDF
Manual algoritmos y_estructura_de_datos
PPT
Guía del PMBOK® > Gestión del Tiempo (Parte 3)
PPTX
Reglas de Código Simple
PPTX
Cómo y para qúe usar un ciclo do while en c++
PDF
Como escribir buenos tests al hacer TDD
PDF
Kit Bienvenida a Kanban de Ibercaja
PDF
Haciendo de las pruebas tus mejores aliadas
PDF
Organización y Arquitectura de Computadores ESPOL Tercera Evaluación 2012-2
PDF
Aprenda a reparar televisión (módulo 1) Omar Cuéllar Barrero
PPT
Seminario de Test Development Driven
DOCX
Curso virtual
DOCX
Curso virtual
PDF
Desarollando aplicaciones web en python con pruebas
PDF
Practicas 2016
PPTX
Introducción a tdd
Manual estructura de_datos_2010___h._caselli_g
Control de tres términos
Confiabilidad
PERT CPM (1).ppt
Ponele el TURBO al Dev Team de tu Startup
Manual algoritmos y_estructura_de_datos
Guía del PMBOK® > Gestión del Tiempo (Parte 3)
Reglas de Código Simple
Cómo y para qúe usar un ciclo do while en c++
Como escribir buenos tests al hacer TDD
Kit Bienvenida a Kanban de Ibercaja
Haciendo de las pruebas tus mejores aliadas
Organización y Arquitectura de Computadores ESPOL Tercera Evaluación 2012-2
Aprenda a reparar televisión (módulo 1) Omar Cuéllar Barrero
Seminario de Test Development Driven
Curso virtual
Curso virtual
Desarollando aplicaciones web en python con pruebas
Practicas 2016
Introducción a tdd
Publicidad

Más de 540deg (7)

PDF
Test doubles
PDF
Clean code 9
PDF
Clean code 10-11
PDF
Clean code 7-8
PDF
Clean code 4-6
PDF
Clean code 1-3
PDF
Arquitectura hexagonal
Test doubles
Clean code 9
Clean code 10-11
Clean code 7-8
Clean code 4-6
Clean code 1-3
Arquitectura hexagonal
Publicidad

Último (10)

PPTX
Implementación equipo monitor12.08.25.pptx
PDF
Presentacion de compiladores e interpretes
PPTX
presentación de introducción a las metodologías agiles .pptx
PPTX
PROPIEDADES Y METODOS DE PrOO CON PYTHON
PPTX
Control de seguridad en los sitios web.pptx
PPTX
hojas_de_calculo_aplicado para microsoft office
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PDF
DNS_SERVIDORES PARA ASER PRACTICAS EN REDES
PPTX
ANALOGÍA 6.pptx9191911818181119111162363733839292
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Implementación equipo monitor12.08.25.pptx
Presentacion de compiladores e interpretes
presentación de introducción a las metodologías agiles .pptx
PROPIEDADES Y METODOS DE PrOO CON PYTHON
Control de seguridad en los sitios web.pptx
hojas_de_calculo_aplicado para microsoft office
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
DNS_SERVIDORES PARA ASER PRACTICAS EN REDES
ANALOGÍA 6.pptx9191911818181119111162363733839292
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf

Katayuno TCR (test && commit || revert)

  • 1. Katayuno TCR “test && commit || revert” 30 Marzo 2019
  • 2. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R 1. TDD: revisión 2. TCR (test && commit || revert) 3. Presentación de la kata: substring kata 4. Iteración 0: preparación entorno TCR 5. Iteración 1 6. Iteración 2 7. Puesta en común general 8. Posibles desventajas 9. Conclusiones AGENDA KATAYUNO TCR
  • 3. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R • No hemos usado TCR en producción. • No somos expertos. • El objetivo es practicar y aprender el nuevo workflow. Disclaimer KATAYUNO TCR
  • 4. Calentamos motores revisando a nuestro viejo amigo TDD T D D : R E V I S I Ó N
  • 5. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R Ciclo de TDD TDD: REVISIÓN
  • 6. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R • No escribirás ningún código de producción sin antes tener un test que falle. • No escribirás nada más que un test unitario que sea suficiente para fallar. • No escribirás nada más que el código de producción necesario para hacer pasar el test. Leyes de TDD TDD: REVISIÓN
  • 7. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R Ciclo de TDD completo TDD: REVISIÓN https://rachelcarmena.github.io/img/cards/posts/test-driven-programming-workflows/workflows.png
  • 8. Sí, sí, TDD mola pero… ¿la vida moderna es programar con TCR no? T C R
  • 9. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R • Popularizado por “O Rei” Kent Beck • Test && commit || revert (TCR) by Oddmund Strømme, Ole Tjensvoll Johannessen and Lars Barlindhaug • test && commit || revert Nuevo workflow: TCR TRC
  • 10. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R Ciclo TCR completo TCR https://rachelcarmena.github.io/img/cards/posts/test-driven-programming-workflows/workflows.png
  • 11. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R TDD vs TCR Test-driven programming workflows
  • 12. Vamos a poner en practica TCR con una kata, substring kata K A T A
  • 13. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R Implementar una función de la siguiente manera substring(left, right, start, stop). La función debe devolver las cadenas concatenadas (left y right), desde el índice de inicio (start) hasta el índice de parada (stop). Explicación de la kata SUBSTRING KATA
  • 14. Iteración 0: preparación entorno TCR S U B S T R I N G K A T A
  • 15. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R https://github.com/islomar/tcr-workshop Preparación entorno TCR ITERACIÓN 0
  • 16. Iteración 1 S U B S T R I N G K A T A
  • 17. Iteración 2 S U B S T R I N G K A T A
  • 18. Puesta en común general S U B S T R I N G K A T A
  • 19. Que sí, que sí, que esto de TCR mola pero… ¿y las desventajas? P O S I B L E S D E S V E N T A J A S
  • 20. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R • ¿Qué pasa si no compila? • Problema: un problema de tipado o sintaxis dispara el revert. • Posible solución: incluimos un paso precio para compilar BTCR • Borrado constante de los tests. • Problema: todo se revierte, incluidos los tests. • Puede no ser un problema real: te fuerza a nano-steps cuando escribes los tests. • Posible solución: hacer que pase la negación del test • Falso verde. • Problema: si no estás primero en rojo, puede añadir un test el cual no hace nada. • Posible solución: negar el test después de que pase y ver cómo se hace el revert. Desventajas POSIBLES DESVENTAJAS
  • 21. CONCLUSIONES C O N C L U S I O N E S
  • 22. Q U I U T W I S I V O C I B U S S U S C I P I A N T U R • Te fuerza a seguir nano-steps. • Te fuerza a pensar: “¿cómo puedo hacer este cambio con un paso más pequeño?”. • Feedback muy rápido para no tirar mucho trabajo. • Frustración al ver cómo tu código desaparece. Conclusiones TCR
  • 23. Gracias ;) K A T A Y U N O T C R