TDD com Clean Code: Chega de amadorismo!

60
TDD com Clean Code Chega de amadorismo!

description

Tdd com clean code: chega de amadorismo!

Transcript of TDD com Clean Code: Chega de amadorismo!

Page 1: TDD com Clean Code: Chega de amadorismo!

TDD com Clean CodeChega de amadorismo!

Page 2: TDD com Clean Code: Chega de amadorismo!

Alison Rodrigues de SouzaMotociclista

Programador JAVAAgilista

Certificado Scrum Master

Page 3: TDD com Clean Code: Chega de amadorismo!

André Dias Lima

Programador JAVAAgilista

Pós-graduando em Metodos Ágeis

Page 4: TDD com Clean Code: Chega de amadorismo!

O mundo está cheio de

gambiarras...

Page 5: TDD com Clean Code: Chega de amadorismo!
Page 6: TDD com Clean Code: Chega de amadorismo!

WTF?

Page 7: TDD com Clean Code: Chega de amadorismo!
Page 8: TDD com Clean Code: Chega de amadorismo!
Page 9: TDD com Clean Code: Chega de amadorismo!

AmadorismoSignificado de Amador segundo

Aurélio: (...) Que pratica qualquer arte ou esporte, sem ser um

profissional.(...)

Page 10: TDD com Clean Code: Chega de amadorismo!

Desenvolvedor ProfissionalQualquer tolo pode escrever código que um computador consiga entender. Bons programadores escrevem código que HUMANOS consigam entender.

Page 11: TDD com Clean Code: Chega de amadorismo!

Martin Fowlermartinfowler.com

Page 12: TDD com Clean Code: Chega de amadorismo!

Então…como podemos criar código que humanos possam entender?

Page 13: TDD com Clean Code: Chega de amadorismo!

Robert Martin = Uncle Bob

Page 14: TDD com Clean Code: Chega de amadorismo!

“...Um código limpo é simples e direto...”Grady Booch

Page 15: TDD com Clean Code: Chega de amadorismo!

“Big” Dave Thomas

Além do seu criador, um desenvolvedor pode ler e melhorar um código limpo...

Page 16: TDD com Clean Code: Chega de amadorismo!

Ron jeffries

Expressa todas as ideias do projeto que estão no sistema….

Page 17: TDD com Clean Code: Chega de amadorismo!

Ward Cunningham

Você sabe que está criando um código limpo quando cada rotina que você le se mostra como vocêesperava...

Page 18: TDD com Clean Code: Chega de amadorismo!

Clean CodeSimples e direto, um desenvolvedor pode ler.Cada rotina que você le mostra como você expressa todas as ideias.

Page 19: TDD com Clean Code: Chega de amadorismo!
Page 20: TDD com Clean Code: Chega de amadorismo!
Page 21: TDD com Clean Code: Chega de amadorismo!

Nomes significativosFaça distinções significativas, use nomes diferentes dentro de um mesmo escopo. Nomes como a1, a2, a3 são o oposto de nomes que demonstram intenção - são confusos e não informam nada.

Page 22: TDD com Clean Code: Chega de amadorismo!

Nomes significativos

Evite também usar abreviações ou trocadilhos, escreva exatamente o que você quer dizer, o nome deve ser auto-explicativo.

Page 23: TDD com Clean Code: Chega de amadorismo!

Nomes significativosÉ comprovado que um desenvolvedor passa muito mais tempo lendo código do que escrevendo, por isso não se preocupe em economizar caracteres ao escolher um nome.

Page 24: TDD com Clean Code: Chega de amadorismo!

Comentários

Comentários podem ser úteis se colocados nos lugares certos, mas também podem ser mentirosos e trazer

desinformação.

Page 25: TDD com Clean Code: Chega de amadorismo!

ComentáriosNa verdade, o melhor comentário é aquele que não precisa ser escrito. Um dos principais motivos para você escrever um comentário é porque o código está difícil de ser entendido.

Page 26: TDD com Clean Code: Chega de amadorismo!

ComentáriosVocê acha que o código ficou meio confuso e acha melhor adicionar um

comentário? Não, você precisa refatorar!

Page 27: TDD com Clean Code: Chega de amadorismo!

Método

Métodos devem conter no máximo 20 linhas e seu nível de identação

não pode ser maior que dois.

Page 28: TDD com Clean Code: Chega de amadorismo!

Método

Quanto ao conteúdo, um método deve ter somente UMA responsabilidade.

Page 29: TDD com Clean Code: Chega de amadorismo!

Classes e FormataçãoA legibilidade do código terá profundo efeito sobre todas as mudanças que serão feitas, seu estilo e disciplina sobrevive sobre estas mudanças.Procure escrever classes com no máximo 500 linhas, classes menores são mais fáceis de se entender. Já para as linhas de código, tente estabelecer um limite de caracteres por linha.

Page 30: TDD com Clean Code: Chega de amadorismo!

Classes e FormataçãoUma boa identação ajuda a visualizar

melhor todo o escopo e facilita a identificação de situações e regras relevantes.

Page 31: TDD com Clean Code: Chega de amadorismo!

Classes e FormataçãoTente manter conceitos relacionados mais próximos verticalmente, para criar um fluxo na leitura do código.

Page 32: TDD com Clean Code: Chega de amadorismo!

Classes e FormataçãoUse espaços entre operadores, parâmetros e vírgulas.

Page 33: TDD com Clean Code: Chega de amadorismo!

Classes e Formatação

Evite deixar o código todo

grudado.

Page 34: TDD com Clean Code: Chega de amadorismo!

Tratamentos de errosPrefira lançar uma exception ao invés de retornar um código de erro, estes retornos desorganizam a chamada do método.

Page 35: TDD com Clean Code: Chega de amadorismo!
Page 36: TDD com Clean Code: Chega de amadorismo!

Tipos de testes

Page 37: TDD com Clean Code: Chega de amadorismo!
Page 38: TDD com Clean Code: Chega de amadorismo!
Page 39: TDD com Clean Code: Chega de amadorismo!
Page 40: TDD com Clean Code: Chega de amadorismo!
Page 41: TDD com Clean Code: Chega de amadorismo!

Kent Beck

Page 42: TDD com Clean Code: Chega de amadorismo!

Não existe desenvolvedor profissional que não faça testes unitários no seu código!

Klaus Wuestefeld

Page 43: TDD com Clean Code: Chega de amadorismo!
Page 44: TDD com Clean Code: Chega de amadorismo!
Page 45: TDD com Clean Code: Chega de amadorismo!

Unit Test (2 a 7 linhas)

Page 46: TDD com Clean Code: Chega de amadorismo!

Service (Máximo 20 linhas)

Page 47: TDD com Clean Code: Chega de amadorismo!

Por que usar TDD?

Page 48: TDD com Clean Code: Chega de amadorismo!

Bateria de testes cresce

Page 49: TDD com Clean Code: Chega de amadorismo!

O código já nasce testado

Page 50: TDD com Clean Code: Chega de amadorismo!

Me faz pensar no requisito

Page 51: TDD com Clean Code: Chega de amadorismo!

Simplicidade

Page 52: TDD com Clean Code: Chega de amadorismo!

Me ajuda no design

Page 53: TDD com Clean Code: Chega de amadorismo!

Maior segurança para mudanças

Page 54: TDD com Clean Code: Chega de amadorismo!

Exemplos de testes

Page 55: TDD com Clean Code: Chega de amadorismo!

TDD em Código legado

Page 56: TDD com Clean Code: Chega de amadorismo!

TDD em Código legado

Page 57: TDD com Clean Code: Chega de amadorismo!
Page 58: TDD com Clean Code: Chega de amadorismo!

#SomosTodosProgramadores

Page 59: TDD com Clean Code: Chega de amadorismo!

Obrigado!

Page 60: TDD com Clean Code: Chega de amadorismo!

Contatos

Site/Blog: alisonsouza.com.br

Twitter: @AlisonRSouza

GitHub: AlisonSouza

E-mail: [email protected]