Boas praticas de_programacao_oo

13
Boas práticas de programação orientada a objetos Alunos: Higor Ramos Renan Cabral

Transcript of Boas praticas de_programacao_oo

Page 1: Boas praticas de_programacao_oo

Boas práticas de programação orientada a objetos

Alunos:   Higor Ramos   Renan Cabral

Page 2: Boas praticas de_programacao_oo

Objetivo

• Produtividade • Legibilidade

 • Extensibilidade

 • Manutenabilidade  

 

Page 3: Boas praticas de_programacao_oo
Page 4: Boas praticas de_programacao_oo

O que você já fazia sem OO

• Pequenas funções • Boa nomenclatura de variáveis

 • Código auto-comentado

 • Divisão em módulos lógicos

Page 5: Boas praticas de_programacao_oo

            Técnicas básicas

• Dar nomes explicativos à variáveis, classes, métodos, etc, deixando claro a suas responsabilidades

 • Dividir grande bloco de código em vários métodos explicativos 

 • Desembaraçar expressões condicionais encadeadas em

demasia • Remoção de código duplicado

Page 6: Boas praticas de_programacao_oo

S.O.L.I.D.

• Responsabilidade única • Aberto-fechado

 • Substituição de Liskov

 • Segregação em interfaces 

 • Inversão de dependência

 • Injeção de dependência

Page 7: Boas praticas de_programacao_oo
Page 8: Boas praticas de_programacao_oo

Filosofias

• You are not going to need it(YAGNI) • Don't repeat yourself(DRY)

 • Keep it simple stupid(KISS)

Page 9: Boas praticas de_programacao_oo

Anti-Padrões

• Big Ball of mud • Anemic Model

 • Poltergeists 

 • Base bean 

 •  Accidental Complexity

 • Refatorar antes ou em desenvolvimento 

 

Page 10: Boas praticas de_programacao_oo

Dicas

• Foque no retorno de investimento(ROI) • Princípios também se contradizem

 • Cuidado com a febre de boas práticas

 • Faça funcionar então refatore

 • Use do bom senso

Page 11: Boas praticas de_programacao_oo

Sobre os passos dos gigantes

• Ron Jeffries • Robert C. Martin - "Uncle Bob"

 • Alistar Cockburn

 • Ward Cunnighan

 • Martin Fowler

 • Kent Beck

Page 12: Boas praticas de_programacao_oo

Hands-on

• Tav de padrões de projeto • Criação de um grupo de estudo sobre boas práticas de

programação OO e padrões de projetos

Page 13: Boas praticas de_programacao_oo

           Bibliografia   

Refatoração : Aperfeiçoando o Projeto de Código Existente - Martin Fowler (2004)

Refatoração para Padrões - Joshua Kerievsky (1994) The Pragmatic Programmer - Andrew Hunt and David Thomas (1999) Code Complete: A Practical Handbook of Software Construction - Steve McConnell (2004) Design Patterns: Elements of Reusable Object-Oriented Software - Erich Gamma, Richard Helm, Ralph Johnson e John M. Vlissides (1994)