PHP Anti Patterns
Upcoming SlideShare
Loading in...5
×
 

PHP Anti Patterns

on

  • 2,277 views

 

Statistics

Views

Total Views
2,277
Views on SlideShare
2,268
Embed Views
9

Actions

Likes
2
Downloads
37
Comments
1

2 Embeds 9

http://www.slideshare.net 7
http://www.linkedin.com 2

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

PHP Anti Patterns PHP Anti Patterns Presentation Transcript

  • PHP Anti-patterns O que NÃO fazer com PHP
  • Sobre mim • Theoziran Lima – Análise e Desenvolvimento de Sistemas (Faculdade iDEZ) – Analista de sistemas (Acade) – Desenvolvedor PHP (Shoprizer) – Colunista iMasters ... e eu não sou o carinha da capa...
  • O que são anti- patterns?
  • Significa fora do padrão, ou simplesmente ter maus hábitos, no nosso caso de codificação.
  • Porque devemos saber o que não fazer (anti-patterns)?
  • Geralmente iniciantes tendem a criar códigos utilizando “anti- patterns”
  • Porque vamos conhecer os problemas/erros que foram enfrentados por desenvolvedores mais experientes, assim não cometeremos os mesmos erros.
  • Então qual padrão de projeto devo usar?
  • Não existe isso, temos os padrões para resolver problemas específicos sendo tratados de forma genérica. • Padrões de criação – Factory – Singleton • Padrões estruturais – Adapter – Bridge ... vamos voltar aos anti-patterns
  • ... outro “problema” ...
  • PHP é fácil, também é mais fácil cometer erros • Quanto mais fácil a linguagem, mais fácil fazer gambiarras; • Por ser fácil, muitas pessoas desenvolvem sem ter nenhuma base (conceitos) de desenvolvimento de software; • O desenvolvedor se sente tentado a resolver o problema de forma mais rápida.
  • PHP é fácil, também é mais fácil cometer erros • Invasão de camadas, quando se está utilizando um MVC, ou pelo menos tentando.
  • “Nenhuma linguagem, framework, impede do desenvolvedor fazer gambiarra” Felipe Ribeiro, “PHP não é coisa de moleque” Esqueceram que somos os mestres das soluções?
  • Spaghetti é o padrão mais utilizado
  • No anti-pattern spaghetti, o “V” de MVC faz tudo.
  • É importante ter estilo ...
  • Estilos de codificação • Seu código não deve ser percebido dentro do sistema; • Sempre desenvolva com E_STRICT e E_NOTICE ativos; • Filtre suas entradas e escape suas saídas; • Quando possível utilize type-casts em suas funções ou métodos.
  • Use com cuidado • $_REQUEST • __get, __set, __isset, __unset • __call, __callStatic • __autoload • @ • <?=
  • “Evite” fazer gambiarras ... gambiarras ...
  • ... uma dia ela vai explodir ...
  • Não conte com a sorte para seu sistema funcionar
  • Framework, você tá brincando?
  • DIY – Do it yourself • Desperdício de tempo – Desenvolvimento – Testes – Documentação – Manutenção • Criar bus desnecessários
  • Overdesign • Limite-se a fazer o que o cliente deseja, ou ao que foi requisitado. • Não fique refazendo o sistema do zero todas vez que cometer um erro.
  • Overdesign • Quanto mais complexo for sua arquitetura: – O código será mais complexo; – Mais bugs você vai ter; – Mais tempo de desenvolvimento irá custar; – A probalidade o projeto falhar é alta.
  • PHP não é Java, C++, Python, Ruby on Rails <?php class String{ private $str; public function __construct($str){ $this->str = $str; } public function __toString(){ return $this->str; } }
  • ... KISS, ainda funciona ...
  • Pense em segurança em todas as fases do projeto Influenciará no design e no desenvolvimento
  • Dica Aproveitem pra estudar os patterns e os anti-patterns que vai nos poupar tempo de passar experiências desagradáveis.
  • Alguma dúvida ?
  • Referências • PHP Quebec Conference – http://conf.phpquebec.com/ • Wikipédia – Anti-patterns – Design Pattern
  • Sigam-me os bons... @theoziran www.theoziran.com.br