59
Over Patternization, YAGNI, KISS Vinicius Quaiato

YAGNI, KISS e Over Patternization

Embed Size (px)

DESCRIPTION

Palestra sobre YAGNI e KISS no DNAD11 explicando por que nem sempre o uso de design patterns é algo bom.Esta palestra tenta mostrar como é bom e importante manter o código simples e não buscar formas de adicionar complexidades desnecessárias.Por Vinicius Quaiato.

Citation preview

Page 1: YAGNI, KISS e Over Patternization

Over Patternization, YAGNI, KISS

Vinicius Quaiato

Page 2: YAGNI, KISS e Over Patternization

Sério?!Precisamos mesmo de tanta coisa, agora?

Page 3: YAGNI, KISS e Over Patternization

@vquaiato

Vinicius Quaiato

[email protected]

http://viniciusquaiato.com

http://gonow.com.br

Page 4: YAGNI, KISS e Over Patternization

Sim, isso é o Quaiato...

Page 5: YAGNI, KISS e Over Patternization

Sem certificações… sem títulos…

(Bi-Mundial manolos!)

Page 6: YAGNI, KISS e Over Patternization

Está não é mais uma daquelas palestras engraçadinhas...

Page 7: YAGNI, KISS e Over Patternization

Estes são slides sérios...

Page 8: YAGNI, KISS e Over Patternization
Page 9: YAGNI, KISS e Over Patternization

Simplicidade

Sabemos que é a chave

Page 10: YAGNI, KISS e Over Patternization

Simplicidade

Estamos falando sobre isso há muito tempo...

Page 11: YAGNI, KISS e Over Patternization

Ah vá

Acabaram de falar isso, antes de mim o/

Page 12: YAGNI, KISS e Over Patternization

Simplicidade

Sabemos que BDUF é um cara muito, muito malvado

Page 13: YAGNI, KISS e Over Patternization

The BDUF

Page 14: YAGNI, KISS e Over Patternization

Então por quê?

Page 15: YAGNI, KISS e Over Patternization

Sim...

Por que sempre tentamos fazer(fazemos!) BDUF?

Page 16: YAGNI, KISS e Over Patternization

Por que...

Sempre tentamos preparar o software para algo que não precisamos?

Page 17: YAGNI, KISS e Over Patternization

Pior

Preparamos para algo complexo e que possivelmente não precisamos!

Page 18: YAGNI, KISS e Over Patternization
Page 19: YAGNI, KISS e Over Patternization

Mas...

Eu preciso desses padrões!

Page 20: YAGNI, KISS e Over Patternization
Page 21: YAGNI, KISS e Over Patternization

Você não precisa!

Na maioria das vezes achamos que precisamos...

Page 22: YAGNI, KISS e Over Patternization

Você não precisa!

Queremos precisar...

Page 23: YAGNI, KISS e Over Patternization
Page 24: YAGNI, KISS e Over Patternization

Estamos doentes

Por mais que pensemos ter tomado as vacinas...

Page 25: YAGNI, KISS e Over Patternization
Page 26: YAGNI, KISS e Over Patternization

Patterns Happy

Ainda não nos livramos deste sintoma

Page 27: YAGNI, KISS e Over Patternization

Patterns Happy

Page 28: YAGNI, KISS e Over Patternization

Patterns Happy

Estamos felizes buscando mais e mais lugares para colocar um padrão

Page 29: YAGNI, KISS e Over Patternization

Patterns Happy

Estamos felizes aprendendo e usando padrões

Page 30: YAGNI, KISS e Over Patternization

Patterns Happy

Só mais um padrãozinho aqui...

Page 31: YAGNI, KISS e Over Patternization

Patterns Happy

Acreditamos que conhecer padrões nos levará a um bom design

Page 32: YAGNI, KISS e Over Patternization

Patterns Happy

Acreditamos que conhecer padrões nos fará bons designers de código

Page 33: YAGNI, KISS e Over Patternization
Page 34: YAGNI, KISS e Over Patternization

Patterns Happy

Só Só uma uma

FactorFactoryy

Mais Mais um um

SingletSingletonon

Aqui Aqui cabe cabe um um

BuilderBuilder

Vamos Vamos usar usar

RepositoRepositoryry

E o E o VisitorVisitor? ? Já viu?Já viu?

Vamos Vamos usar um usar um FacadeFacade

Sim Sim aqui aqui

vamos vamos de de

StrategyStrategy

MementMementoo??

AdaptAdapterer, ,

ham?!ham?!

Aqui é Aqui é bom o bom o

DecoratDecoratoror

Page 35: YAGNI, KISS e Over Patternization

Think...

Nem sempre onde cabe um padrão é preciso colocar o padrão

Page 36: YAGNI, KISS e Over Patternization
Page 37: YAGNI, KISS e Over Patternization

Trust me

Page 38: YAGNI, KISS e Over Patternization
Page 39: YAGNI, KISS e Over Patternization

YAGNI

You Aren’t Going Need It / You Ain’t Gonna Need It

Page 40: YAGNI, KISS e Over Patternization

YAGNI

Identificar um padrão não quer dizer que precisamos implementá-lo

Page 41: YAGNI, KISS e Over Patternization

YAGNI

Em alguns momentos o padrão é complexidade extra

Page 42: YAGNI, KISS e Over Patternization

YAGNI

Se você não conhece o futuro não aceite que o compreende

Page 43: YAGNI, KISS e Over Patternization

YAGNI

Se você não precisa agora use quando precisar

Page 44: YAGNI, KISS e Over Patternization

YAGNI

O tempo é finito: use-o para o que é necessário

Page 45: YAGNI, KISS e Over Patternization

YAGNI

O novo código precisa ser testado => documentado e funcional

Page 46: YAGNI, KISS e Over Patternization

YAGNI

Discernimento + Conhecimento = Boas Decisões

Page 47: YAGNI, KISS e Over Patternization
Page 48: YAGNI, KISS e Over Patternization

KISS

Page 49: YAGNI, KISS e Over Patternization

KISS

Page 50: YAGNI, KISS e Over Patternization

KISS

Page 51: YAGNI, KISS e Over Patternization

KISS

Keep It Simple, Stupid!

Page 52: YAGNI, KISS e Over Patternization

Mas...

Patterns não são bacanas?

Page 53: YAGNI, KISS e Over Patternization

Sim...

Mas seu uso muitas vezes nos faz não enxergar soluções mais simples

Page 54: YAGNI, KISS e Over Patternization
Page 55: YAGNI, KISS e Over Patternization

Juro!

Muitas vezes condicionais são mais simples e claras que estratégias

Page 56: YAGNI, KISS e Over Patternization

Juro!

Muitas vezes são mais simples de escrever, manter, testar e comunicar

Page 57: YAGNI, KISS e Over Patternization

Fique de olho

Keep It Simple, Stupid

Page 58: YAGNI, KISS e Over Patternization

ObrigadObrigado!o!

Page 59: YAGNI, KISS e Over Patternization

@vquaiato

Vinicius Quaiato

[email protected]

http://viniciusquaiato.com

http://gonow.com.br