SlideShare una empresa de Scribd logo
1 de 155
Boas Práticas, Práticas !
        Augusto Pascutti
Porquê?
Como você encara uma
     mudança?
Assim ?
Deveria ser assim !
Não convenci ?!
E se ...
quem fosse mexer ...
no seu código,
soubesse onde você mora?
E fossem esses caras !?
Para quê ?
Fácil de ler
Fácil de modificar
Fácil de melhorar
Fácil de corrigir
+ phpinga !
Coisas erradas ...
Use a última versão
Ame os erros
ini_set(‘display_errors’,’On’);
error_reporting()
E_NOTICE
E_STRICT
E_ALL
- Tenha objetivos
     - Mensurar melhoras




Saiba pra onde ir
Tenha objetivos
Mensure suas melhoras
O tempo não pára
- Roberta Close
              - Aparências enganam




       - Um belo design não esconde um código ruim;
       - Um dia ele falha




Não julgue o livro pela capa
As aparências enganam
Código ruim, é ruim !
Não importa o design ...
Dèjá Vu
ou CTRL+C & CTRL+V
ou MGTC
- Um framework não torna você melhor




O problema é você
Certas coisas nunca mudam
Conhecimento é conhecimento
Quanto mais queijo
Menos queijo !
É conhecimento na faixa !




Software Livre
Aprenda com código de outros
Contribua ...
Você aprende mais !
Ao repetir uma tarefa, você vai fazê-la melhor




    Pelo menos digitar melhor você vai




Kumon funciona
Arte da repetição
Cada vez melhor
Pelo menos a digitação
História do “opinião de peso”




Engordem
Filósofos são gordos.
Preferem estudar a se exercitar
Por isso têm “Opinião de Peso”
Não acredite em tudo.
Papai Noel não existe
Nem o coelhinho da Páscoa
Boas Práticas Gerais
RTFM
DRY
Don’t Repeat Yourself
KISS
YAGNI
Less is More
Simples é difícil !
< 80 colunas
< 4 condicões aninhadas
< 4 argumentos
Mão na Massa
Escolha um paradigma
Estruturado
Não é Spaguetti
Orientação a Objetos
Escolha uma ferramenta
Domine a ferramenta
Netbeans
Padronize
Encoding
- 80 colunas
 - Máximo 120
 - Tab ou Espaço




Identação
- Arquivos;
  - Variaveis;
  - Classes;
  - Métodos;

  - Cadê minha função ?




Nomenclatura
- Espaço em condições
- { Chaves }




  Código
Existentes: Pear ou Zend
Configuração do PHP
register_globals = off
output_buffering = on
magic_quotes_gpc = off
allow_url_fopen = off
Não documente
Código ruim ...
comentado.
Continua sendo ruim
PHPDoc.org
Esqueça a Performance
Isso se arruma
A qualidade do código não
Hardware é mais barato
Bom código se muda rápido
Nunca esqueça da Segurança
Filtre TODO input
*_escape_string()
Filtre TODO output
htmlentities()
Quanto menos INPUT/OUTPUT
melhor !
.htaccess
Output Buffer
Refatore != Funcionalidade
Nova funcionalidade
Melhora existentes
Refatore
Refatore de novo !
Porquê ?
Ao refatorar você lê !
Entende mais o programa
Melhora estrutura do código
Melhora leitura para outros
Previne câncer !
Refatorar é bom ?
Necessário !!!!
Cabeça do Homem x Cabeça da Mulher




 Encapsule
Complexidade x Modularidade
Especialização
Ninguém sabe tudo ...
HTML
     CSS
     JS
 Requisições
Regras Negócio
    Banco
Como ?
Dividir e conquistar !
Funções/Classes
Lembre-se:
Uma função recebe ...
e retorna !
Solução genérica !
Não ser vem só pra layout: menu,
     cabeçalho e banco




Arquivos de Include
menu.php
         rodape.php




Não deveriam ser templates
functions.inc.php




Não deveriam ser genéricos
do mesmo tipo, por favor




Agrupam funções
Como Classes !
Tá tudo ferrado, e agora ?
Estabeleça os padrões
Encapsule includes
Encapsule URLs
Encapsule todo código antigo
Migre aos poucos
Augusto Pascutti


augusto@phpsp.org.br
Twitter: augustohp
gtalk: augusto.hp

Más contenido relacionado

Destacado

Higiene e segurança alimentar na industria de sorvetes
Higiene e segurança alimentar na industria de sorvetesHigiene e segurança alimentar na industria de sorvetes
Higiene e segurança alimentar na industria de sorvetesAlessandra Lima
 
Treinamento imprimir (1)
Treinamento imprimir (1)Treinamento imprimir (1)
Treinamento imprimir (1)Bull Marketing
 
Capacitação em higiene alimentar
Capacitação em higiene alimentarCapacitação em higiene alimentar
Capacitação em higiene alimentarJéssika Lorena
 
BPF- Boas prática de fabricação em fábricas de ração
BPF- Boas prática de fabricação em fábricas de raçãoBPF- Boas prática de fabricação em fábricas de ração
BPF- Boas prática de fabricação em fábricas de raçãoCarla Souza
 
Boas Práticas de Fabricação
Boas Práticas de FabricaçãoBoas Práticas de Fabricação
Boas Práticas de FabricaçãoBruno Andrade
 
Cartilha manual de_boas_praticas_maipulacao_alimentos_final
Cartilha manual de_boas_praticas_maipulacao_alimentos_finalCartilha manual de_boas_praticas_maipulacao_alimentos_final
Cartilha manual de_boas_praticas_maipulacao_alimentos_finalLídia Barbosa
 
Aula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimento
Aula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimentoAula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimento
Aula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimentoAlvaro Galdos
 
Sorvetes
SorvetesSorvetes
Sorvetesluiana
 
Boas Práticas de Fabricação - Um breve resumo
Boas Práticas de Fabricação - Um breve resumoBoas Práticas de Fabricação - Um breve resumo
Boas Práticas de Fabricação - Um breve resumoLuis Antonio Cezar Junior
 
Boas Praticas e Procedimentos Operacionais Padrão para Alimentos
Boas Praticas e Procedimentos Operacionais Padrão para AlimentosBoas Praticas e Procedimentos Operacionais Padrão para Alimentos
Boas Praticas e Procedimentos Operacionais Padrão para AlimentosSafia Naser
 
Treinamento Manipuladores de Alimentos
Treinamento Manipuladores de AlimentosTreinamento Manipuladores de Alimentos
Treinamento Manipuladores de AlimentosLetícia Gonzaga
 
Manual de boas práticas na manipulação de alimentos
Manual de boas práticas na manipulação de alimentosManual de boas práticas na manipulação de alimentos
Manual de boas práticas na manipulação de alimentosDeisi Colombo
 
Treinamento RU Unifal-MG. HIGIENE E BOAS PRÁTICAS DE MANIPULADORES
Treinamento RU Unifal-MG. HIGIENE E BOAS  PRÁTICAS DE  MANIPULADORESTreinamento RU Unifal-MG. HIGIENE E BOAS  PRÁTICAS DE  MANIPULADORES
Treinamento RU Unifal-MG. HIGIENE E BOAS PRÁTICAS DE MANIPULADOREScagsiqueira
 
GUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOS
GUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOSGUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOS
GUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOSDennis Moliterno
 

Destacado (15)

Higiene e segurança alimentar na industria de sorvetes
Higiene e segurança alimentar na industria de sorvetesHigiene e segurança alimentar na industria de sorvetes
Higiene e segurança alimentar na industria de sorvetes
 
Treinamento imprimir (1)
Treinamento imprimir (1)Treinamento imprimir (1)
Treinamento imprimir (1)
 
Capacitação em higiene alimentar
Capacitação em higiene alimentarCapacitação em higiene alimentar
Capacitação em higiene alimentar
 
BPF- Boas prática de fabricação em fábricas de ração
BPF- Boas prática de fabricação em fábricas de raçãoBPF- Boas prática de fabricação em fábricas de ração
BPF- Boas prática de fabricação em fábricas de ração
 
Boas Práticas de Fabricação
Boas Práticas de FabricaçãoBoas Práticas de Fabricação
Boas Práticas de Fabricação
 
Cartilha manual de_boas_praticas_maipulacao_alimentos_final
Cartilha manual de_boas_praticas_maipulacao_alimentos_finalCartilha manual de_boas_praticas_maipulacao_alimentos_final
Cartilha manual de_boas_praticas_maipulacao_alimentos_final
 
Aula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimento
Aula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimentoAula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimento
Aula 3 fatores intrínsecos e extrínsecos que controlam o desenvolvimento
 
Sorvetes
SorvetesSorvetes
Sorvetes
 
Boas Práticas de Fabricação - Um breve resumo
Boas Práticas de Fabricação - Um breve resumoBoas Práticas de Fabricação - Um breve resumo
Boas Práticas de Fabricação - Um breve resumo
 
Boas Praticas e Procedimentos Operacionais Padrão para Alimentos
Boas Praticas e Procedimentos Operacionais Padrão para AlimentosBoas Praticas e Procedimentos Operacionais Padrão para Alimentos
Boas Praticas e Procedimentos Operacionais Padrão para Alimentos
 
Treinamento Manipuladores de Alimentos
Treinamento Manipuladores de AlimentosTreinamento Manipuladores de Alimentos
Treinamento Manipuladores de Alimentos
 
Manual de boas práticas na manipulação de alimentos
Manual de boas práticas na manipulação de alimentosManual de boas práticas na manipulação de alimentos
Manual de boas práticas na manipulação de alimentos
 
Treinamento RU Unifal-MG. HIGIENE E BOAS PRÁTICAS DE MANIPULADORES
Treinamento RU Unifal-MG. HIGIENE E BOAS  PRÁTICAS DE  MANIPULADORESTreinamento RU Unifal-MG. HIGIENE E BOAS  PRÁTICAS DE  MANIPULADORES
Treinamento RU Unifal-MG. HIGIENE E BOAS PRÁTICAS DE MANIPULADORES
 
Bpf Treinamento
Bpf TreinamentoBpf Treinamento
Bpf Treinamento
 
GUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOS
GUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOSGUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOS
GUIA PRÁTICO PARA OS MANIPULADORES DE ALIMENTOS
 

Similar a Boas Práticas Gerais para Desenvolvimento de Software

Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Gilmar PSL
 
Projeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SProjeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SThoughtworks
 
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Edlaine Zamora
 
Eu não sou um "bom programador"!
Eu não sou um "bom programador"!Eu não sou um "bom programador"!
Eu não sou um "bom programador"!Gustavo Pereira
 
Refatoração 1/3 webinar
Refatoração 1/3   webinarRefatoração 1/3   webinar
Refatoração 1/3 webinarZG Soluções
 
Mantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de TesteMantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de Testemauricioszabo
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In TubaRafael Paz
 
O Programador Pragmático
O Programador PragmáticoO Programador Pragmático
O Programador PragmáticoTadeu Marinho
 
Clean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpoClean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpoTiago Bencardino
 

Similar a Boas Práticas Gerais para Desenvolvimento de Software (20)

Clean Code
Clean CodeClean Code
Clean Code
 
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
 
Projeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SProjeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.S
 
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
 
Eu não sou um "bom programador"!
Eu não sou um "bom programador"!Eu não sou um "bom programador"!
Eu não sou um "bom programador"!
 
Lapidando ruby
Lapidando rubyLapidando ruby
Lapidando ruby
 
Programação Orientada a Gambiarra
Programação Orientada a GambiarraProgramação Orientada a Gambiarra
Programação Orientada a Gambiarra
 
Refatoração 1/3 webinar
Refatoração 1/3   webinarRefatoração 1/3   webinar
Refatoração 1/3 webinar
 
Mantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de TesteMantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de Teste
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In Tuba
 
EaD sem Dor
EaD sem DorEaD sem Dor
EaD sem Dor
 
Não São Apenas Sapatos
Não São Apenas SapatosNão São Apenas Sapatos
Não São Apenas Sapatos
 
Palestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnitPalestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnit
 
Ip 01 logica
Ip 01 logicaIp 01 logica
Ip 01 logica
 
O Programador Pragmático
O Programador PragmáticoO Programador Pragmático
O Programador Pragmático
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Clean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpoClean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpo
 
PHP Anti Patterns
PHP Anti PatternsPHP Anti Patterns
PHP Anti Patterns
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 

Más de Augusto Pascutti

Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLsAugusto Pascutti
 
Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Augusto Pascutti
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)Augusto Pascutti
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeAugusto Pascutti
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHPAugusto Pascutti
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven DevelopmentAugusto Pascutti
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHPAugusto Pascutti
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e comoAugusto Pascutti
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorAugusto Pascutti
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!Augusto Pascutti
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 

Más de Augusto Pascutti (20)

Errors
ErrorsErrors
Errors
 
Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLs
 
Porque VIM?
Porque VIM?Porque VIM?
Porque VIM?
 
Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidade
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHP
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven Development
 
Orientação a objetos v2
Orientação a objetos v2Orientação a objetos v2
Orientação a objetos v2
 
Under engineer
Under engineerUnder engineer
Under engineer
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHP
 
The small things
The small thingsThe small things
The small things
 
Somos jardineiros
Somos jardineirosSomos jardineiros
Somos jardineiros
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e como
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhor
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 
Mitos do PHP
Mitos do PHPMitos do PHP
Mitos do PHP
 

Boas Práticas Gerais para Desenvolvimento de Software