Teste e Design no Mundo Real com Ruby.pdf

(2066 KB) Pobierz
© Casa do Código
Todos os direitos reservados e protegidos pela Lei nº9.610, de
10/02/1998.
Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem
autorização prévia por escrito da editora, sejam quais forem os meios:
fotográficos, eletrônicos, mecânicos, gravação ou quaisquer outros.
Casa do Código
Livros para o programador
Rua Vergueiro, 3185 - 8º andar
04101-300 – Vila Mariana – São Paulo – SP – Brasil
Casa do Código
Agradecimentos
Aos que não leram outras versões desse livro, Mauricio escreveu o livro ori-
ginalmente em Java e C# e Hugo ajudou na “tradução” para Ruby. Os agrade-
cimentos estão divididos pois foram escritos em momentos diferentes.
Agradecimentos do Mauricio
Essa talvez seja a seção mais difícil de se escrever, pois a quantidade de
pessoas que participaram direta ou indiretamente do livro é muito grande.
Vou começar agradecimento a meu pai, mãe e irmão, que a todo momento
me apoiaram na decisão de fazer um mestrado, entender como ciência deve
ser feita, e que sofreram junto comigo nos momentos de grande estresse (que
todo mestrado proporciona!).
Agradeço também ao meu orientador de mestrado e doutorado, prof. Dr.
Marco Aurelio Gerosa, que me ensinou como as coisas funcionam “do lado de
lá”. Sem ele, acho que esse livro seria muito diferente; seria mais apaixonado,
porém menos verdadeiro. Se meu texto olha TDD de maneira fria e imparcial,
a culpa é dele.
Os Srs. Paulo Silveira e Adriano Almeida também merecem uma lem-
brança. Mesmo na época em que a Casa do Código não existia de fato, eles já
haviam aceitado a ideia do livro de TDD. Obrigado pela confiança.
Todas as pessoas das últimas empresas em que atuei também me ajudaram
muito com as incontáveis conversas de corredor sobre o assunto. Isso com
certeza enriqueceu muito o texto.
Agradeço também aos amigos José Donizetti, Guilherme Moreira e Rafael
Ferreira, que gastaram tempo lendo o livro e me dando sugestões de como
melhorar.
i
Casa do Código
Por fim, obrigado a você que está lendo esse livro. Espero que ele ajude.
Agradecimentos do Hugo
Seções de agradecimentos são sempre injustas já que é impossível listar
todos que contribuíram de alguma forma para um trabalho ou o tamanho
de suas contribuições. No entanto, vou tentar fazer a minha parte e já peço
desculpas pelos que não pude mencionar.
Agradeço aos profs. Drs. Fabio Kon e Alfredo Goldman que, durante o
curso de Bacharelado em Ciências da Computação (BCC) da USP, me apre-
sentaram a técnica de TDD entre muitas outras no curso de Programação
Extrema (XP). Ao Danilo Sato que foi nosso
coach
na disciplina e nos anos
seguintes e todos os outros membros da AgilCoop que muito contribuíram
no meu aprendizado de métodos ágeis.
Obrigado ao Paulo Silveira e Adriano Almeida pelas oportunidades com
a Casa do Código e pela paciência com minha demora para escrever. Junto
com eles, todos os amigos da Caelum que, apesar de não terem sido colegas
de trabalho diretamente, sempre foram uma parte importante das conversas
e aprendizados.
Muitos agradecimentos aos irmãos Alexandre Freire e Fernando Freire
pelo nosso longo trabalho junto durante o qual comecei a trabalhar em Ruby.
Nesse tempo juntos evoluímos nosso conhecimento e prática de TDD. Em
especial, as diferenças entre TDD em linguagens mais dinâmicas como Ruby
e linguagens mais estáticas como Java. À Mariana Bravo não poderei fazer
justiça mas, além de tudo que os irmãos Freire fizeram, pelas revisões, dis-
cussões, ajudas, paciência, amor e carinho.
Agradeço também ao Mauricio obviamente pela oportunidade de “tra-
duzir” o livro mas também pelas incontáveis e intermináveis discussões. Dis-
cussões sobre TDD, mocks, modelagem, linguagens, padrões e basicamente
qualquer coisa que podemos encontrar para discordar nos ajudaram a enri-
quecer nossos argumentos e entendimentos sobre desenvolvimento.
Finalmente, a todos que têm paixão pelo seu trabalho e procuram melho-
rar o mundo com artigos, posts, livros, código aberto, palestras e voluntari-
ado, continuem fazendo o que gostam e não deixem as pessoas ao seu redor
se acomodarem.
ii
Casa do Código
Quem somos nós?
Como todo indivíduo, cada um de nós é único. No entanto, Mauricio e Hugo
compartilham algumas coisas. Entre elas, ambos trabalham com desenvolvi-
mento de software há perto de uma década, estão ligados com o Instituto
de Matemática e Estatística (IME) da Universidade de São Paulo (USP) e
têm opiniões fortes (e frequentemente divergentes) sobre desenvolvimento
de software.
O grande Hugo Corbucci
Java e .NET são linguagens/plataformas com que eu tive um grande
contato. Com Ruby, ao contrário, tive muito pouca experiência. E dado o
sucesso que o livro fez em ambas as linguagens, muitos desenvolvedores
da comunidade Ruby me pediram uma versão do livro.
Não tive dúvidas em convidar o Hugo para enfrentar esse desafio.
Deixando a nossa amizade de lado, o Hugo é um desenvolvedor de quem
eu sou fã. É um desenvolvedor com muita experiência e opiniões fortes.
Perdi a conta de quantas vezes tivemos infinitas discussões sobre TDD,
design etc. E, com certeza, aprendi muito com todas elas.
Por isso, a minha total confiança nele.
Mauricio Aniche
Em boa parte dos 10 anos de experiência que acumulei até a escrita desse
livro, atuei como consultor para diferentes empresas do mercado brasileiro e
internacional. Com certeza, as linguagens mais utilizadas por mim ao longo
iii
Zgłoś jeśli naruszono regulamin