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...
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
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Boas Práticas, Práticas !
Próximos SlideShares
Carregando em…5
×

Boas Práticas, Práticas !

2.809 visualizações

Publicada em

Boas práticas para desenvolvimento de sistemas em PHP.

Publicada em: Tecnologia
2 comentários
6 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
2.809
No SlideShare
0
A partir de incorporações
0
Número de incorporações
27
Ações
Compartilhamentos
0
Downloads
91
Comentários
2
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Boas Práticas, Práticas !

    1. 1. Boas Práticas, Práticas ! Augusto Pascutti
    2. 2. Porquê?
    3. 3. Como você encara uma mudança?
    4. 4. Assim ?
    5. 5. Deveria ser assim !
    6. 6. Não convenci ?!
    7. 7. E se ...
    8. 8. quem fosse mexer ...
    9. 9. no seu código,
    10. 10. soubesse onde você mora?
    11. 11. E fossem esses caras !?
    12. 12. Para quê ?
    13. 13. Fácil de ler
    14. 14. Fácil de modificar
    15. 15. Fácil de melhorar
    16. 16. Fácil de corrigir
    17. 17. + phpinga !
    18. 18. Coisas erradas ...
    19. 19. Use a última versão
    20. 20. Ame os erros
    21. 21. ini_set(‘display_errors’,’On’);
    22. 22. error_reporting()
    23. 23. E_NOTICE
    24. 24. E_STRICT
    25. 25. E_ALL
    26. 26. - Tenha objetivos - Mensurar melhoras Saiba pra onde ir
    27. 27. Tenha objetivos
    28. 28. Mensure suas melhoras
    29. 29. O tempo não pára
    30. 30. - 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
    31. 31. As aparências enganam
    32. 32. Código ruim, é ruim !
    33. 33. Não importa o design ...
    34. 34. Dèjá Vu
    35. 35. ou CTRL+C & CTRL+V
    36. 36. ou MGTC
    37. 37. - Um framework não torna você melhor O problema é você
    38. 38. Certas coisas nunca mudam
    39. 39. Conhecimento é conhecimento
    40. 40. Quanto mais queijo
    41. 41. Menos queijo !
    42. 42. É conhecimento na faixa ! Software Livre
    43. 43. Aprenda com código de outros
    44. 44. Contribua ...
    45. 45. Você aprende mais !
    46. 46. Ao repetir uma tarefa, você vai fazê-la melhor Pelo menos digitar melhor você vai Kumon funciona
    47. 47. Arte da repetição
    48. 48. Cada vez melhor
    49. 49. Pelo menos a digitação
    50. 50. História do “opinião de peso” Engordem
    51. 51. Filósofos são gordos.
    52. 52. Preferem estudar a se exercitar
    53. 53. Por isso têm “Opinião de Peso”
    54. 54. Não acredite em tudo.
    55. 55. Papai Noel não existe
    56. 56. Nem o coelhinho da Páscoa
    57. 57. Boas Práticas Gerais
    58. 58. RTFM
    59. 59. DRY Don’t Repeat Yourself
    60. 60. KISS
    61. 61. YAGNI
    62. 62. Less is More
    63. 63. Simples é difícil !
    64. 64. < 80 colunas
    65. 65. < 4 condicões aninhadas
    66. 66. < 4 argumentos
    67. 67. Mão na Massa
    68. 68. Escolha um paradigma
    69. 69. Estruturado
    70. 70. Não é Spaguetti
    71. 71. Orientação a Objetos
    72. 72. Escolha uma ferramenta
    73. 73. Domine a ferramenta
    74. 74. Netbeans
    75. 75. Padronize
    76. 76. Encoding
    77. 77. - 80 colunas - Máximo 120 - Tab ou Espaço Identação
    78. 78. - Arquivos; - Variaveis; - Classes; - Métodos; - Cadê minha função ? Nomenclatura
    79. 79. - Espaço em condições - { Chaves } Código
    80. 80. Existentes: Pear ou Zend
    81. 81. Configuração do PHP
    82. 82. register_globals = off
    83. 83. output_buffering = on
    84. 84. magic_quotes_gpc = off
    85. 85. allow_url_fopen = off
    86. 86. Não documente
    87. 87. Código ruim ...
    88. 88. comentado.
    89. 89. Continua sendo ruim
    90. 90. PHPDoc.org
    91. 91. Esqueça a Performance
    92. 92. Isso se arruma
    93. 93. A qualidade do código não
    94. 94. Hardware é mais barato
    95. 95. Bom código se muda rápido
    96. 96. Nunca esqueça da Segurança
    97. 97. Filtre TODO input
    98. 98. *_escape_string()
    99. 99. Filtre TODO output
    100. 100. htmlentities()
    101. 101. Quanto menos INPUT/OUTPUT
    102. 102. melhor !
    103. 103. .htaccess
    104. 104. Output Buffer
    105. 105. Refatore != Funcionalidade
    106. 106. Nova funcionalidade
    107. 107. Melhora existentes
    108. 108. Refatore
    109. 109. Refatore de novo !
    110. 110. Porquê ?
    111. 111. Ao refatorar você lê !
    112. 112. Entende mais o programa
    113. 113. Melhora estrutura do código
    114. 114. Melhora leitura para outros
    115. 115. Previne câncer !
    116. 116. Refatorar é bom ?
    117. 117. Necessário !!!!
    118. 118. Cabeça do Homem x Cabeça da Mulher Encapsule
    119. 119. Complexidade x Modularidade
    120. 120. Especialização
    121. 121. Ninguém sabe tudo ...
    122. 122. HTML CSS JS Requisições Regras Negócio Banco
    123. 123. Como ?
    124. 124. Dividir e conquistar !
    125. 125. Funções/Classes
    126. 126. Lembre-se:
    127. 127. Uma função recebe ...
    128. 128. e retorna !
    129. 129. Solução genérica !
    130. 130. Não ser vem só pra layout: menu, cabeçalho e banco Arquivos de Include
    131. 131. menu.php rodape.php Não deveriam ser templates
    132. 132. functions.inc.php Não deveriam ser genéricos
    133. 133. do mesmo tipo, por favor Agrupam funções
    134. 134. Como Classes !
    135. 135. Tá tudo ferrado, e agora ?
    136. 136. Estabeleça os padrões
    137. 137. Encapsule includes
    138. 138. Encapsule URLs
    139. 139. Encapsule todo código antigo
    140. 140. Migre aos poucos
    141. 141. Augusto Pascutti augusto@phpsp.org.br Twitter: augustohp gtalk: augusto.hp

    ×