YAGNI, KISS e Over Patternization

Preview:

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

Over Patternization, YAGNI, KISS

Vinicius Quaiato

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

@vquaiato

Vinicius Quaiato

vinicius.quaiato@gmail.com

http://viniciusquaiato.com

http://gonow.com.br

Sim, isso é o Quaiato...

Sem certificações… sem títulos…

(Bi-Mundial manolos!)

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

Estes são slides sérios...

Simplicidade

Sabemos que é a chave

Simplicidade

Estamos falando sobre isso há muito tempo...

Ah vá

Acabaram de falar isso, antes de mim o/

Simplicidade

Sabemos que BDUF é um cara muito, muito malvado

The BDUF

Então por quê?

Sim...

Por que sempre tentamos fazer(fazemos!) BDUF?

Por que...

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

Pior

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

Mas...

Eu preciso desses padrões!

Você não precisa!

Na maioria das vezes achamos que precisamos...

Você não precisa!

Queremos precisar...

Estamos doentes

Por mais que pensemos ter tomado as vacinas...

Patterns Happy

Ainda não nos livramos deste sintoma

Patterns Happy

Patterns Happy

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

Patterns Happy

Estamos felizes aprendendo e usando padrões

Patterns Happy

Só mais um padrãozinho aqui...

Patterns Happy

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

Patterns Happy

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

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

Think...

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

Trust me

YAGNI

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

YAGNI

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

YAGNI

Em alguns momentos o padrão é complexidade extra

YAGNI

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

YAGNI

Se você não precisa agora use quando precisar

YAGNI

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

YAGNI

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

YAGNI

Discernimento + Conhecimento = Boas Decisões

KISS

KISS

KISS

KISS

Keep It Simple, Stupid!

Mas...

Patterns não são bacanas?

Sim...

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

Juro!

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

Juro!

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

Fique de olho

Keep It Simple, Stupid

ObrigadObrigado!o!

@vquaiato

Vinicius Quaiato

vinicius.quaiato@gmail.com

http://viniciusquaiato.com

http://gonow.com.br