tdd com clean code: chega de amadorismo!

Post on 18-Nov-2014

208 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Tdd com clean code: chega de amadorismo!

TRANSCRIPT

TDD com Clean CodeChega de amadorismo!

Alison Rodrigues de SouzaMotociclista

Programador JAVAAgilista

Certificado Scrum Master

André Dias Lima

Programador JAVAAgilista

Pós-graduando em Metodos Ágeis

O mundo está cheio de

gambiarras...

WTF?

AmadorismoSignificado de Amador segundo

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

profissional.(...)

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

Martin Fowlermartinfowler.com

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

Robert Martin = Uncle Bob

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

“Big” Dave Thomas

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

Ron jeffries

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

Ward Cunningham

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

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

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.

Nomes significativos

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

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.

Comentários

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

desinformação.

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.

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

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

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.

Método

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

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.

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.

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

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

Classes e Formatação

Evite deixar o código todo

grudado.

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.

Tipos de testes

Kent Beck

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

Klaus Wuestefeld

Unit Test (2 a 7 linhas)

Service (Máximo 20 linhas)

Por que usar TDD?

Bateria de testes cresce

O código já nasce testado

Me faz pensar no requisito

Simplicidade

Me ajuda no design

Maior segurança para mudanças

Exemplos de testes

TDD em Código legado

TDD em Código legado

#SomosTodosProgramadores

Obrigado!

Contatos

Site/Blog: alisonsouza.com.br

Twitter: @AlisonRSouza

GitHub: AlisonSouza

E-mail: contato@alisonsouza.com.br

top related