sábado, 26 de setembro de 2009

Tradução - 5 importantes dicas para debugar código PHP

Fala aí galera! Mais uma tradução (talvez eu devesse mudar de profissão), é um artigo bem legal com dicas para dominar a habilidade de debugar seus maravilhosos scripts php que insistem em não fazer o que você quer. Vi isso no blog phpcollection e o artigo original pode ser acessado aqui. Então vamos lá!

Debugar código em php é um pesadelo para todos os programadores php e estes são os momentos onde eles sentem falta da funcionalidade de trace das funções do java. Contudo algumas técnicas simples de debug podem ajudar você a codificar mais rápido e salvar o valiosíssimo tempo de desenvolvimento.

Todas estas técnicas são baseadas na minha experiência e adoraria conhecer quais outras técnicas de debug programadores php usam para encontrar erros em seu código! Por favor comente abaixo e compartilhe com a comunidade sua arma secreta para debugar código php.

Então, minhas 5 dicas para debug são (em nenhuma ordem em particular):

1) - Debug de código php simultâneo: Use um editor com um debugger php simultâneo (como phped, PhpDesigner, Eclipse, etc ), editores como editpad, notepad não suportam debug simultâneo então neles você precisa rodar o script php no browser para encontrar erros. Estes outros editores rodam os script php via linha de comando a cada vez que o script é salvo e apresentam os erros encontrados.

Pequenos erros humanos como esquecer de um ponto e vírgula, não terminar a linha corretamente, errar as chaves etc podem ser facilmente encontrados usando um debugger php simultâneo.

2) - Use xdebug - A extensão xdebug permite você achar a pilha de execução ou a pilha de chamada de funções em mensagens de erro, a alocação de memória e previne execuções de recursão infinita acontecerem.

Também fornece informações de profiling do código PHP e tem a capacidade de debugar scripts interativamente com um cliente de debug.

Xdeug pode ser encotrado em xdebug.org (Editores como phpdesigner e phpdebug já contêm o Xdebug embutido).

3) - Ative as mensagens de erro do php - O arquivo php.ini possui muitas opções de configuração. Entres estas opções exitem algumas opções que controlam a forma como mensagens de erro são exibidas para o usuário. Tenha certeza de que as duas seguintes opções estejam configuradas como a seguir:

display_errors = On
error_reporting = E_ALL & ~E_NOTICE

4) - Use comandos como print e echo de antemão em pontos críticos para debug - Esta dica é de certa forma um método caseiro que uso para debugar php que eu considero extremamente útil para analisar grandes bases de código php.

Enquanto estou programando eu crio algumas seções virtuais de código e nestas seções eu coloco comandos echo para assegurar que o interpretador está passando por aquela seção corretamente e escrevendo a informação requerida corretamente.

Mas como não posso deixar estas seções sempre executando, eu coloco um comando if debug_check para verificar se o código está sendo executado em modo de debug ou modo de produção.
Exemplo:

$debug_check = 1;

foreach ($array as $data) {

if ($debug_check == 1)

print ($data);

}

Aqui a varável $debug_check é definida no topo do script. Assim que for mudada para 1 , o código passa a mostrar todos comandos echo e print, somente quando eu estiver debugando o código.

Quando estou em modo de produção eu simplesmente mudo o valor de $debug_check para 0 que agora vai esconder todos os comandos echo e print. Isto leva um pouco mais de tempo no inicío mas é muito útil a longo prazo.

5) - Use frameworks - Frameworks são umas das maiores mudanças na programação moderna, frameworks php como CodeIgniter e CakePHP provêem muitas funcionalidades para se construir casos de teste, testes unitários e debug.

Também, como a maior parte do código roda dentro de bibliotecas as mensagens de erro são bem feitas e providenciam detalhes internos.

Dois dos meus frameworks favoritos são : cakephp e codeingiter.

Espero que você tenha apreciado estas 5 técnicas de debug para php. Eu pesso para todos compartilharem aqui seus conselhos para debugar código php. Eu vou compilar todos eles em um post com os devidos créditos e publicar! Isso pode ser bem útil para todos os programadores php ao redor do mundo. (Isso foi no post original mas se as dicas forem legais eu posso colocar a tradução aqui novamente)

É isso aí! Valeu pessoal!

quarta-feira, 23 de setembro de 2009

Domínios

Estou criando um site(na verdade estou apenas na fase de ideias, mas pretendo falar sobre o desenvolvimento dele aqui no blog em breve). Hoje fiquei um tempo pensando em domínios, e percebi que todos os bons nomes para domínios já foram escolhidos (pelo menos na área que estou pensando).
Escolher um domínio até parece um tipo de arte arcana obscura pelo que li em alguns artigos na web (aqui, aqui e aqui), este último até tem um download de um pdf de 70 páginas sobre como escolher um domínio. Talvez eu devesse criar um domínio estilo web 2.0 como flickr, twitter, blogger, reddit, digg (perceberam que o segredo é terminar em "r" ou ter duas letras repetidas no nome?). Bem, vou pensar mais um pouco e se alguém quiser deixar uma sugestão de como criar um bom domínio eu fico agradecido. Valeu!