um desenvolvedor com princípios solid

32
CONTRA1 a jornada de um desenvolvedor de princípios SOLID contra o impulso de usar muitos padrões ou não pensar sobre eles UM @helmedeiros

Upload: helio-medeiros

Post on 24-Dec-2014

170 views

Category:

Technology


1 download

DESCRIPTION

Requisitos sempre mudam, e um projeto ágil tem que evoluir enquanto se trabalha para entregar valor ao cliente, com entregas tão curtas quanto o máximo deste valor que se pode entregar. O que precisamos considerar enquanto damos nossos passos a iluminação?

TRANSCRIPT

Page 1: Um desenvolvedor com princípios SOLID

CONTRA1a jornada de um desenvolvedor de princípios SOLID

contra o impulso de usar muitos padrões ou não pensar sobre elesUM@helmedeiros

Page 2: Um desenvolvedor com princípios SOLID

senta que lá vem história…

Page 3: Um desenvolvedor com princípios SOLID

framework MV* princípios

design patterns

Page 4: Um desenvolvedor com princípios SOLID

a-gi-li-ty |əˈjilitē|

Consiste em criar software em incrementos minúsculos.

Page 5: Um desenvolvedor com princípios SOLID

como projetar um…

Software que tenha boa estrutura?

Software que seja flexível?

Software passível de manutenção?

Software que seja reutilizável?

who knows who knows who knows who knows

Page 6: Um desenvolvedor com princípios SOLID

Se você cria em incrementos minúsculos, não vai perder a visão global?

Page 7: Um desenvolvedor com princípios SOLID

projeto ágil

maus cheiros

princípios

Page 8: Um desenvolvedor com princípios SOLID

projeto de software um conceito abstrato

Page 9: Um desenvolvedor com princípios SOLID

software project |ˈsôftˌwe(ə)r ˈpräjˌekt, -ikt|

Relacionado à forma e estrutura global do programa, assim como o detalhe de cada módulo, classe e método.

Page 10: Um desenvolvedor com princípios SOLID

Se tiver sorte, você começa um projeto com uma ideia clara de como deseja que o sistema seja. Se tiver mais sorte ainda, a primeira versão reflete a imagem do projeto.

Page 11: Um desenvolvedor com princípios SOLID

projeto ágil

maus cheiros

princípios

Page 12: Um desenvolvedor com princípios SOLID

algo dá errado o software começa a apodrecer

Page 13: Um desenvolvedor com princípios SOLID

como podemos detectar…

os problemas antes ou no último momento responsável?

sem exagerar nas precauções?

permitindo mudar?

Page 14: Um desenvolvedor com princípios SOLID

RIGIDEZ: É difícil de alterar o projeto.1

Page 15: Um desenvolvedor com princípios SOLID

FRAGILIDADE: O projeto (design) é fácil de estragar.2

Page 16: Um desenvolvedor com princípios SOLID

IMOBILIDADE: É difícil reutilizar o projeto.3

Page 17: Um desenvolvedor com princípios SOLID

VISCOSIDADE: É difícil fazer a coisa certa.4

Page 18: Um desenvolvedor com princípios SOLID

COMPLEXIDADE DESNECESSÁRIA: Projeto excessivo.5

Page 19: Um desenvolvedor com princípios SOLID

REPETIÇÃO DESNECESSÁRIA: Abuso do mouse.6

Page 20: Um desenvolvedor com princípios SOLID

OPACIDADE: Expressão desorganizada.7

Page 21: Um desenvolvedor com princípios SOLID

por que o software apodrece…

mudanças não previstas

mudanças para ontem

desenvolvedor desconhece a filosofia inicial do projeto

Page 22: Um desenvolvedor com princípios SOLID

requisitos sempre mudam nossos projetos e práticas estão errados

Page 23: Um desenvolvedor com princípios SOLID

projeto ágil

maus cheiros

princípios

Page 24: Um desenvolvedor com princípios SOLID

aplicação continuapara melhorar a estrutura e legibilidade do software

Page 25: Um desenvolvedor com princípios SOLID

iterativamente visando…

simplicidade no código

limpeza do código

expressividade do código

moderado moderado moderado

Page 26: Um desenvolvedor com princípios SOLID

SRP: Princípio da responsabilidade únicaS

Page 27: Um desenvolvedor com princípios SOLID

OCP: Princípio do Aberto/FechadoO

Page 28: Um desenvolvedor com princípios SOLID

LSP: Princípio de substituição de LiskovL

Page 29: Um desenvolvedor com princípios SOLID

ISP: Princípio da Segregação de InterfaceI

Page 30: Um desenvolvedor com princípios SOLID

DIP: Princípio da inversão de DependênciaD

Page 31: Um desenvolvedor com princípios SOLID

“  as  equipes  ágeis  aplicam  os  princípios  apenas  para  

resolver  maus  cheiros.  Eles  não  são  um  perf9me  que  

deve  ser  bor<ifado  por  todo  o  sistema.  “  

- Robert C. Martin

Page 32: Um desenvolvedor com princípios SOLID

CONTRA1a jornada de um desenvolvedor de princípios SOLID

contra seu impulso de usar muitos padrões ou não pensar sobre elesUM@helmedeiros