TDD is a practice like swimming

A reader of our eXtreme Programming book asked us a guide to move from 0% TDD programming to 100% (or almost) TDD programming. But, there’s no manual that will really teach TDD, because it’s a practice. We could use a metaphor to explain it, TDD is like swimming, an activity that we practice.

Yes, TDD can be very hard at first time. Like swimming, you might not have enough breathing discipline, getting tired faster and giving it up. And after say “I didn’t like swimming, swimming is not for me”.

As a swimmer needs to jump in the water, a programmer needs to start with a failing test, write code until the test works, and refactor. And repeat these steps a lot of times. It’s a cycle, it’s a mantra:

image
TDD mantra: write a failing Test, Code until pass the test, so Refactor.

After a lot of TDD cycles, you will be understanding how to practice TDD. So, please, jump in the water and enjoy TDD.

— Thanks to Guilherme Motta for the review.

Refatoração em Banco de Dados

A Refatoração é uma das práticas importantes no desenvolvimento ágil de software, fazendo parte do dia a dia de um time. O TDD (Test-driven Development – Desenvolvimento Guiado por Testes) tem origem na Refatoração, e ambas são práticas que fazem parte do eXtreme Programming.

Refatoração: uma mudança feita na estrutura interna do software para deixá-lo mais fácil de entender e barato de modificar, sem mudar seu comportamento observável. Martin Fowler.

Além de refatorar código, pode-se também refatorar banco de dados. Hoje na Quarta do Conhecimento da PROCERGS o Fabrízio Mello palestrou sobre bad smells em databases, mostrando os diversos maus cheiros em banco de dados. Segue a apresentação:

E segue também um material extra, um post do Fabrízio Mello no Coding by Example que explica em detalhes o Database Refactoring. Vale a pena conferir:
https://codingbyexample.wordpress.com/2013/07/29/database-refactoring/

“Don’t live with broken windows.” Andy Hunt e Dave Thomas


Conheça mais sobre o livro de eXtreme Programming

livro xp

Link para o livro www.casadocodigo.com.br/products/livro-xp-extreme-programming