CodeBiblioteca

Eleve suas habilidades de programação com nossa coleção selecionada de livros

Posts

TDD - O que é TDD?

Introdução ao TDD: A filosofia principal do TDD (Test Driven Development) é, como o nome sugere, ter o desenvolvimento guiado pelos testes. Na prática, isso significa que antes de escrever o código relacionado à funcionalidade desejada, o desenvolvedor deve pensar em quais testes devem ser escritos para validar o comportamento da funcionalidade. Isso funciona como uma espécie de especificação da funcionalidade, preferencialmente escrita baseada em regras de negócio.

Importância das Regras de Negócio: Devemos dar preferência a regras de negócio para escrever os testes, pois é isso que funciona no final das contas. Por exemplo, não deve ser relevante se, internamente, um código chama uma biblioteca Excel ou se usa o algoritmo X em vez de Y, exceto em casos específicos onde estamos testando a biblioteca Excel ou o algoritmo X.

Vantagens do TDD: Eu entendo que o TDD tem duas principais vantagens:

  1. Teremos um código de muito mais fácil manutenção, pois os testes nos darão segurança na hora de modificar o código.
  2. Teremos uma especificação do que é esperado da funcionalidade descrita nos testes.

Desafios do TDD: Porém, acredito que o TDD não é uma disciplina tão simples e exige um certo estudo para sua execução correta.

Questionamentos Comuns: Alguns questionamentos que começam a surgir:

  1. Quais testes escrever?
  2. Se tudo o que interessa é que o teste passe, eu posso escrever código desorganizado, contanto que o teste passe?
  3. Quando faz sentido apagar testes?

Agora preciso trabalhar, depois continuo este post.

The Pragmatic Programmer

Por Andrew Hunt & David Thomas

Eu gosto muito deste livro porque ele não analiza apenas a parte técnica, mas também várias questões a respeito do nosso comportamento como desenvolvedores, a liberdade que temos em nossos trabalhos, e como temos responsabilidade pelo resultado do mesmo. É um livro que gosto de ler quando acredito que não estou tendo um bom desempenho em um projeto, seja por desafios técnicos, ou por questões comprotamentais.

R$ 292,00

Test Driven Development in Ruby

Bala Paranj

Até agora é possivelmente o melhor livro de TDD que eu já li. Aborda não só a ideia de quando adicionar testes, mas quais testes escrever, e quando deletar testes que tenham se tornado irrelevantes. Aborda o assunto de TDD utilizando o conceito de 'Katas' para praticar o TDD, ou seja, exercícios fictícios para praticar o TDD, antes de aplicar em um projeto real. Assim, se exercita antes de ter que colocar em um projeto no seu trabalho.

R$ 239,31

Código Limpo

Por Robert C. Martin

É um livro que acredito que dê um norte relativo a como escrever código simples, claro e fácil de entender. Deve estar na biblioteca de todo o desenvolvedor, não porque vai dará habiliades excepcionais, mas porque dá a base do que todo o programador hoje em dia deveria saber (ao menos no meu ponto de vista). Por outro lado, é um livro tão popular, que eu já vi muitas das ideias dele abordadas em outras situações, então pode ser que você ache os conhecimentos bastante familiares.

R$ 88,13