lunes, 26 de septiembre de 2022

Remove commit from GIT

remove last pushed commit from local: git reset --hard HEAD~1
update remote branch removing last pushed commit: git push origin HEAD --force

source: hackernoon

viernes, 9 de septiembre de 2022

TDD 2020



As the tests get more specific, the code gets more generic - Robert C. Martin
Prácticas = Principios(Contexto)

Más cercanos a negocio y no tan ligado a la implementación, en vez 'return string empty when is null', mejor 'allow null'
El nombrado de las pruebas
Refactorizar las pruebas
Intentar evitar las variables global o variables estáticas o singleton, que comparten estado
Que los test sean lo más sencillos posibles, sin bucles o condicionales. En una primera versión el tests puede ser complejo, pero una vez está en verde, podemos mejorarlo

Los tests parametrizado, quitan legibilidad porque estamos usando valores que a priori no tiene semántica y también quitamos los nombres de los tests.
los test no pueden garantizar la ausencia total de fallos en el software ni mucho menos

Fast (rápido) -> como mucho unos cuantos segundos
Independent (independiente) -> no tener dependencias con otras pruebas
Repeatable (repetible) inocuo, no altera el sistema
Self-validated (auto-validado) -> contiene aserciones
Timely (oportuno) -> el mejor momento para escribir un test, que resulta ser antes de escribir el código de producción


Xavi Gost: https://www.youtube.com/watch?v=S4Ueg64xfXQ
Dummy: no hace nada, simplemente para cumplir el contrato
Stub: solo datos
Mock: comportamiento (si ha sido llamado)

principios de XP
- Simplicidad: Lo que se busca, al dejar la puerta abierta a la implementación emergente y gradual (las cuatro reglas del diseño simple de Kent beck)
- Comunicación: conversaciones cara a cara, comunicación directa -> metáfora del teléfono escacharrado
- Feedback: just in time programming. La depuración se hace tediosa; arranca la aplicción que pare en los puntos de interrupción, cuando se puede hacer un test unitario.
- Respeto: desapegarse del código. No tomarlo como algo personal. Predicar con el ejemplo. El respeto del equipo se consigue dejando mejor código de lo que se encuentre.
- Valor: ser transparente y sincero.


builders para simplificar los datos de los tests



Property Based Testing
Mutating Testing

Transformation Priority Premise: PrimeFactors and WordWarp katas
https://martinfowler.com/bliki/PageObject.html

domingo, 26 de septiembre de 2021

A video about pair programming by Birgitta Bockeler

I found a very interesting video about pair programming, this is the link video

I find it very interesting because she tells some hidden things that happen, when someone practices this technique.

I wrote down about that, here it is my notes

viernes, 5 de marzo de 2021

algunas cosas que he aprendido en estos años sobre el agile/xp

- búsqueda de la mejora continua. Quitando los desperdicios a lo largo de todo el ciclo del desarrollo de software.
- individuos motivados.
- búsqueda de la excelencia técnica.
- satisfacer las necesidades del cliente. Resolver con software el problema que tiene el cliente.

New song in my life: Trent Reznor - Pixar Popcorn: Soul of The City

 I was watching the pop corn pixar when the episode 4 (soul of the city) appeared and the magic happened.

Trent Reznor - Pixar Popcorn: Soul of The City