Boas Práticas de Programação
Para ser um bom programador deve-se ter boas práticas de programação, independente da linguagem, seja PHP, ASP, Java, ColdFusion, DotNet, e outras. E também independente se a técnica escolhida é a estruturada ou a orientada a objetos (OOP).
■ Seguem algumas dicas:
- Estabeleça um comprimento máximo para a linha de codificação para evitar ter que rolar a janela de código fonte.
- Ponha um espaço depois de cada vírgula em listas delimitadas por vírgulas, como por exemplo, em uma lista de argumentos.
- Quando for necessário quebrar uma linha de código faça de forma que fique obvio que a linha está incompleta sem a linha seguinte.
- Evite colocar mais de uma declaração por linha.
- Quebre seções grandes e complexas de código em módulos menores, compreensíveis.
- Não use números ou textos literais, como
for i = 1 to 100. Ao invés disso, use constantes, como por exemplo: for i = 1 to TOTAL_ITENS, para facilitar a manutenção e o entendimento
- Utilize variáveis e rotinas somente para um único propósito. Evite criar rotinas de múltiplos propósitos que executam uma variedade de funções sem conexões. As variáveis devem ser usadas somente para armazenar informações para a qual foi criada.
As dicas abaixo são exclusivamente para um bom desempenho da tecnologia PHP:
- se um método pode ser
static, declare-o como static. Isso irá aumentar a performance umas 4 vezes
- echo é mais rápido do que print
- utilize o unset nas suas variáveis para liberar memória (bons tempos em que todo mundo sabia programar em C :P.. “free your mallocs”)
- não use
require_once() é dispensável e demanda bastante memória
- utilize o caminho absoluto na hora de dar os
includes, assim o PHP não perde tempo tentando resolver o caminho
str_replace é mais rápido do que preg_replace, porém strtr é umas 4 vezes mais rápido do que str_replace
- utilizar
@ para suprimir os erros é muito lento
- habilite o
mod_deflate no apache
- feche a sua conexão com o banco se você não irá mais utilizá-la (mas não fique abrindo e fechando toda hora!)
- $row[’abc’] é 7 vezes mais rápido do que
$row[abc]
- não use funções dentro de um laço, como por exemplo,
for ($x=0; $x < count($array); $x++) porque count() vai ser executada em todo ciclo do laço. Utilize: for ($x=0, $c=count($array); $x < $c; $x++)
- Incrementar uma variável global é duas vezes mais lento do que incrementar uma variável local
- acessar um atributo de um objeto
($obj->atributo++, por exemplo) é 3 vezes mais lento do que acessar uma variável local
- incrementar uma variável local não inicializada é 9-10 vezes mais lento do que se ela tivesse sido inicializada
- aspas simples são mais rápidas que aspas duplas
- uma aplicação que faça cache dos scripts php vai aumentar a performance entre 25 e 100%
- utilize cache sempre que possível. SEMPRE! (claro que isso tem um onus, mas estamos falando apenas em performance aqui)
- Se quiser testar o tamanho de uma string, utilize isset ao invés de strlen. Por exemplo:
if (!isset($foo{5})) echo “foo eh mto pequeno!”
- nem tudo precisa ser OO. Métodos e objetos tendem a consumir muito mais memória
- não converta toda estrutura de dados em classes. Utilizar arrays é muito mais rápido
- se você possui funções que demandam muito tempo de execução cogite transforma-las em uma extensão em C
- habilitar o mod_gzip pode economizar em até 80% o tráfego de dados. Sua largura de banda agradece
- evite usar
SELECT *. Isso dificulta a manutenção e gasta tempo desnecessário de processamento para descobrir os campos e obter os valores do banco
- use switch ao invés de um monte de ifs
- json é mais rápido do que xml
- Evite utilizar metódos mágicos como
__get, __set e __autoload, se possível
- Se você quer descobrir o tempo em que o script começou a ser executado, é preferível utilizar
$_SERVER[´REQUEST_TIME´] do que time()
- Veja se pode utilizar
strncasecmp, strpbrk e stripos ao invés de regex
- Se uma função, como de substituição de
strings, aceitar tanto arrays como caracteres simples como argumentos, e se a sua lista de argumentos não é muito longa, considere fazer algumas declarações redundantes de substituição, passando um caractere por vez, ao invés de uma linha de código que aceita arrays como argumentos de busca e substituição
- Mensagens de erro demandam mais processamento
- Utilize PHP Speedy
FONTE: Wordpress.
Associação SoftwareLivre
A Associação SoftwareLivre.org (ASL) é uma associação civil sem fins-lucrativos, com sede em Porto Alegre/RS que reúne empresários, profissionais liberais, estudantes e servidores públicos, estabelecendo relações com os mais diversos setores da sociedade como o poder público, universidades, empresas, grupos de usuários, hackers e ONGs. A ASL tem por principal objetivo tornar o software livre amplamente incluído na sociedade, propiciando espaço de discussão, apoio, fomento e organização de iniciativas nas mais diversas áreas relacionadas. - Site oficial da associação
|