SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
1 
Desenvolvedor de Sucesso 
Adriano Patrick Cunha
2 
Adriano Patrick Cunha 
Analista de TI da Dataprev 
Prof. da Unifor – Universidade de Fortaleza
3 
Não importa como você fez, importa que funcione!
4 
Pouco Tempo Depois .
5 
Pouco Tempo Depois ..
6 
Pouco Tempo Depois ...
7
8 
Desenvolvimento Artesanal
9 
Exige dedicação e esforço
10 
Ciclo de Vida 
Desenvolvimento Manutenção
11 
Degradação 
Ciclo de Vida 
Desenvolvimento Manutenção
12 
Maus Cheiros Ciclo de Vida 
Degradação 
Desenvolvimento Manutenção
13 
Rigidez
14 
Fragilidade
15 
Imobilidade
16 
Viscosidade
17 
Complexidade Desnecessária 
- Mantenha Simples 
- Você precisa disso?
18 
Repetição Desnecessária
19 
Opacidade
20 
Precisamos mudar isso
21 
Não dá mais pra fazer apenas pra funcionar 
Qualidade
22 
Qualidade significa fazer o certo 
mesmo quando ninguém está olhando. 
Henry Ford
23 
O que devemos fazer? 
Programação Orientada a Objetos 
Bug Patterns 
Padrões 
Clean Code 
SOLID 
Design Ágil
24 
Programação Orientada a Objetos 
Encapsulamento Acoplamento Coesão
25 
Encapsulamento 
Oculta os detalhes de implementação de uma classe para as demais.
26 
Encapsulamento
27 
Encapsulamento
28 
Encapsulamento
29 
Encapsulamento
30 
Encapsulamento
31 
Acoplamento 
Define o nível de dependencia entre componentes: 
Alto Acoplamento 
- Difícil alterar uma funcionalidade interna, sem que suas dependências não sejam afetadas 
Baixo Acoplamento 
- Manutenções são realizadas de forma mais pontual e com menos impacto.
32 
Coesão 
Um objeto deve fazer e ser apenas aquilo para o qual ele foi criado. 
Alto Coesão 
- Princípio da Responsabilidade Única: Objetos devem fazer, da melhor forma, uma 
única tarefa. 
- Maior reaproveitamento. 
- Facilidade de Manutenção. 
Baixa Coesão 
- Mais complexidade. 
- Reaproveitamento dificultado. 
- Difícil manutenção. 
- Várias funcionalidades em um único objeto ou método.
33 
Contatos: 
adrianopatrick@gmail.com 
adrianopatrickc

Weitere ähnliche Inhalte

Ähnlich wie Desenvolvedor Sucesso Técnicas POO

Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...Klederson Bueno
 
MPP-III - Aula 08 - Usabilidade
MPP-III - Aula 08 - UsabilidadeMPP-III - Aula 08 - Usabilidade
MPP-III - Aula 08 - UsabilidadeAlan Vasconcelos
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMFelipe Freire
 
Como escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaComo escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaLeandro Alonso
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
iMasters Developer Week - presentation - Clayton Chagas
iMasters Developer Week - presentation - Clayton ChagasiMasters Developer Week - presentation - Clayton Chagas
iMasters Developer Week - presentation - Clayton ChagasClayton Escouper das Chagas
 
Práticas DevOps com Zend Server
Práticas DevOps com Zend ServerPráticas DevOps com Zend Server
Práticas DevOps com Zend ServerDiego Santos
 
Desenvolvimento agil
Desenvolvimento agilDesenvolvimento agil
Desenvolvimento agilBryan Ollivie
 
UNIFESO 2019 - Gestão de Projetos Além do Óbvio
UNIFESO 2019 - Gestão de Projetos Além do ÓbvioUNIFESO 2019 - Gestão de Projetos Além do Óbvio
UNIFESO 2019 - Gestão de Projetos Além do ÓbvioDebora Modesto
 
Usabilidade - Uma introdução
Usabilidade - Uma introduçãoUsabilidade - Uma introdução
Usabilidade - Uma introduçãoErico Fileno
 
DevOps em Cloud utilizando Visual Studio Online e Microsoft Azure
DevOps em Cloud utilizando Visual Studio Online e Microsoft AzureDevOps em Cloud utilizando Visual Studio Online e Microsoft Azure
DevOps em Cloud utilizando Visual Studio Online e Microsoft AzureDaniel Semedo
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina BorimThoughtworks
 
Leds zeppellin infraestrutura de apoio ao desenvolvimento
Leds zeppellin   infraestrutura de apoio ao desenvolvimentoLeds zeppellin   infraestrutura de apoio ao desenvolvimento
Leds zeppellin infraestrutura de apoio ao desenvolvimentoledsifes
 

Ähnlich wie Desenvolvedor Sucesso Técnicas POO (20)

Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
 
Refactoring
RefactoringRefactoring
Refactoring
 
Software robusto e flexível
Software robusto e flexívelSoftware robusto e flexível
Software robusto e flexível
 
MPP-III - Aula 08 - Usabilidade
MPP-III - Aula 08 - UsabilidadeMPP-III - Aula 08 - Usabilidade
MPP-III - Aula 08 - Usabilidade
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBM
 
Como escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaComo escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquitetura
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Lean TI - Gestão de Projetos
Lean TI  - Gestão de Projetos  Lean TI  - Gestão de Projetos
Lean TI - Gestão de Projetos
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
iMasters Developer Week - presentation - Clayton Chagas
iMasters Developer Week - presentation - Clayton ChagasiMasters Developer Week - presentation - Clayton Chagas
iMasters Developer Week - presentation - Clayton Chagas
 
Práticas DevOps com Zend Server
Práticas DevOps com Zend ServerPráticas DevOps com Zend Server
Práticas DevOps com Zend Server
 
Desenvolvimento agil
Desenvolvimento agilDesenvolvimento agil
Desenvolvimento agil
 
UNIFESO 2019 - Gestão de Projetos Além do Óbvio
UNIFESO 2019 - Gestão de Projetos Além do ÓbvioUNIFESO 2019 - Gestão de Projetos Além do Óbvio
UNIFESO 2019 - Gestão de Projetos Além do Óbvio
 
Usabilidade - Uma introdução
Usabilidade - Uma introduçãoUsabilidade - Uma introdução
Usabilidade - Uma introdução
 
DevOps em Cloud utilizando Visual Studio Online e Microsoft Azure
DevOps em Cloud utilizando Visual Studio Online e Microsoft AzureDevOps em Cloud utilizando Visual Studio Online e Microsoft Azure
DevOps em Cloud utilizando Visual Studio Online e Microsoft Azure
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina Borim
 
Workshop Bny Mellon
Workshop   Bny MellonWorkshop   Bny Mellon
Workshop Bny Mellon
 
Aula06 webdesign
Aula06 webdesignAula06 webdesign
Aula06 webdesign
 
Leds zeppellin infraestrutura de apoio ao desenvolvimento
Leds zeppellin   infraestrutura de apoio ao desenvolvimentoLeds zeppellin   infraestrutura de apoio ao desenvolvimento
Leds zeppellin infraestrutura de apoio ao desenvolvimento
 

Mehr von Adriano Patrick Cunha (8)

Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithms
 
Desenvolvimento web e mobile ifce
Desenvolvimento web e mobile   ifceDesenvolvimento web e mobile   ifce
Desenvolvimento web e mobile ifce
 
Recuperacao Falhas em Sistemas Workflow
Recuperacao Falhas em Sistemas WorkflowRecuperacao Falhas em Sistemas Workflow
Recuperacao Falhas em Sistemas Workflow
 
ETL DW-RealTime
ETL DW-RealTimeETL DW-RealTime
ETL DW-RealTime
 
Concurrencyproblem
ConcurrencyproblemConcurrencyproblem
Concurrencyproblem
 
Article K-OPT in JSSP
Article K-OPT in JSSPArticle K-OPT in JSSP
Article K-OPT in JSSP
 
Natuurweb
NatuurwebNatuurweb
Natuurweb
 
Natuur mobile
Natuur mobileNatuur mobile
Natuur mobile
 

Desenvolvedor Sucesso Técnicas POO