Mantendo seu software sob controle

Mantendo seu software sob controle

A apresentação tem o objetivo de mostrar algumas ferramentas voltadas à qualidade de software aplicadas ao PHP.

Para mostrar o funcionamento das ferramentas, existe um repositório no Github contendo exemplos de uso das mesmas.

https://github.com/ionixjunior/php-qa

790726f5b5613d61926dea2e2efd4da1?s=128

Ione Souza Junior

October 15, 2014
Tweet

Transcript

  1. Mantendo seu software sob controle por Ione Souza Junior

  2. Quem sou eu? • Desenvolvedor Web; • PHP; • Java;

    • PhoneGap; • Twitter: @ionixjunior
  3. Agenda • Conhecer algumas ferramentas para controle e qualidade de

    software ( aplicadas ao PHP ); • Mess Detector; • Code Sniffer; • Copy/Paste Detector; • PHPUnit; • PHP Documentor;
  4. Principais problemas em um software • Controlar a padronização;

  5. Principais problemas em um software • Garantir o correto funcionamento;

  6. Principais problemas em um software • Identificar pontos que precisam

    ser melhorados;
  7. E agora..

  8. • O que fazer? E agora..

  9. • O que fazer? • Por onde começar? E agora..

  10. PHP Quality Assurance

  11. PHP Quality Assurance

  12. PHP Quality Assurance • Um conjunto de ferramentas que os

    desenvolvedores deveriam usar ou pelo menos conhecer;
  13. PHP Quality Assurance • Um conjunto de ferramentas que os

    desenvolvedores deveriam usar ou pelo menos conhecer; • http://phpqatools.org
  14. Algumas ferramentas…

  15. None
  16. PHP Mess Detector

  17. PHP Mess Detector • Identifica bagunças no código;

  18. PHP Mess Detector • Identifica bagunças no código; • Parâmetros,

    métodos e propriedades não utilizadas;
  19. PHP Mess Detector • Identifica bagunças no código; • Parâmetros,

    métodos e propriedades não utilizadas; • Alta complexidade de código;
  20. PHP Mess Detector • Identifica bagunças no código; • Parâmetros,

    métodos e propriedades não utilizadas; • Alta complexidade de código; • http://phpmd.org
  21. None
  22. None
  23. PHP Code Sniffer

  24. PHP Code Sniffer • Verifica se o código está escrito

    de forma padronizada;
  25. PHP Code Sniffer • Verifica se o código está escrito

    de forma padronizada; • A verificação é baseada em padrões configurados;
  26. PHP Code Sniffer • Verifica se o código está escrito

    de forma padronizada; • A verificação é baseada em padrões configurados; • https://github.com/squizlabs/PHP_CodeSniffer
  27. None
  28. None
  29. PHP Copy/Paste Detector

  30. PHP Copy/Paste Detector • Identifica blocos de códigos duplicados;

  31. PHP Copy/Paste Detector • Identifica blocos de códigos duplicados; •

    https://github.com/sebastianbergmann/phpcpd
  32. None
  33. None
  34. PHPUnit

  35. PHPUnit • Framework utilizado para desenvolvimento de testes unitários;

  36. PHPUnit • Framework utilizado para desenvolvimento de testes unitários; •

    Ajuda a garantir o correto funcionamento do algoritmo;
  37. PHPUnit • Framework utilizado para desenvolvimento de testes unitários; •

    Ajuda a garantir o correto funcionamento do algoritmo; • https://phpunit.de
  38. Mãos a obra!! Come go!!

  39. None
  40. PHP Documentor

  41. PHP Documentor • Cria documentação do código fonte baseado nos

    comentários inseridos;
  42. PHP Documentor • Cria documentação do código fonte baseado nos

    comentários inseridos; • http://phpdoc.org
  43. None
  44. Ok, mas..

  45. Ok, mas.. • Acha que irá perder muito tempo usando

    as ferramentas?
  46. Ok, mas.. • Acha que irá perder muito tempo usando

    as ferramentas? • Acha que deveria existir uma maneira mais fácil de utilizá-las?
  47. None
  48. Integração com IDEs

  49. Integração com IDEs • Netbeans • phpCS-MD Plugin • PhpDocumentor

  50. Integração com IDEs • Netbeans • phpCS-MD Plugin • PhpDocumentor

    • Eclipse PDT • Plugin PTI
  51. Integração com IDEs • Netbeans • phpCS-MD Plugin • PhpDocumentor

    • Eclipse PDT • Plugin PTI • Sublime • Plugin PHPUnit e PHPCS via Package Control
  52. E como programar melhor?

  53. E como programar melhor? • Não esqueça: as ferramentas não

    fazem nada sozinhas…
  54. E como programar melhor? • Não esqueça: as ferramentas não

    fazem nada sozinhas… • Cabe a você adotar um conjunto de regras para utilizar
  55. E como programar melhor? • Não esqueça: as ferramentas não

    fazem nada sozinhas… • Cabe a você adotar um conjunto de regras para utilizar • Sugestão de leitura: Object Calisthenics
  56. Dúvidas?

  57. Obrigado!