5 Maneiras de melhorar seu código PHP

703 views

Published on

Apresentação utilizada na palestra sobre Qualidade de código no PHPSC 2012

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
703
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

5 Maneiras de melhorar seu código PHP

  1. 1. $maneirasDeMelhorarSeuCodigo Aplicando 5S no seu código
  2. 2. 2
  3. 3. 3
  4. 4. 4
  5. 5. PHPDEPENDPHPCSD PHPMD 5
  6. 6. QA TOOLS• PHP QA TOOLS - http://phpqatools.org/• PHPUnit• PHP_Depend• PHP Dead Code Detector• PHP_CodeSniffer• PHP Mess DetectorEntre outros... 6
  7. 7. Linha Guia 7
  8. 8. Convenção de Código• Zend Coding Standards - http://framework.zend.com/manual/1.12/en/ coding-standard.html• PEAR - http://pear.php.net/manual/en/standards.php 8
  9. 9. <?php foreach($consulta as $valor):?> <tr> <td><?php echo $valor->id; ?></td> <td><?php echo $valor->nome; ?></td> <td><?php echo $valor->email; ?></td> <tr><?php endforeach;?> 9
  10. 10. Criado para resolver o problema de escopoentre bibliotecas.*Namespace pode conter definições de classes,constantes e funções, mas não código livre. (Apartir da versão 5.3) <?php namespace coreControllerHello; class World { function __construct() { echo "Helloworld"; } } ?> 10
  11. 11. Qual é a ideia?Core DB URL 11
  12. 12. Paradigma?• Estude-os (objetos,aspectos,eventos)• Há projetos? 12
  13. 13. • Gere sua documentação automaticamente• Gerencie suas tarefas através do seu código 13
  14. 14. 14
  15. 15. 15
  16. 16. Isso é justificável hoje? <?php function require_path($path) { $root = scandir($path); $files = array(); foreach($root as $value) { if($value === . || $value === ..) {continue;} if(is_file("$path/$value")) { $pInfo = pathinfo($value); if ($pInfo[extension] == "php") { require_once("$path/$value"); echo "$path/$value<br>"; } } else { require_path($path); } } } ?> 16
  17. 17. Como podemos modificar isso? scandir($dir) __autoload($classname) use 17
  18. 18. O que é util? Refatore 18
  19. 19. Refatoração• Maioria das técnicas associadas ao oop! Extrair Método (Extract Method) Mover Método (Move Method) Mover Atributo (Move Field) Extrair Classe (Extract Class) Encapsular Atributo (Encapsulate Field) Renomear Método (Rename Method) Subir Método (Pull Up Method) Subir Atributo (Pull Up Field) Descer Método (Push Down Method) Descer Atributo (Push Down Field) Extrair Sub-classe (Extract Subclass) Extrair Super-classe (Extract Superclass) 19
  20. 20. Coca-Cola Café? 20
  21. 21. Disciplina 21
  22. 22. Considerações FinaisDRY(Do not repeat yourself) – (Já Falamos)KISS(Keep it simple, stupid) – Menos é mais Php.net GUIA 22
  23. 23. Perguntas 23
  24. 24. Obrigado 24

×