Desenvolvimento

26 jun, 2014

Código bom é código performático

Publicidade

Todo desenvolvedor precisa ter a consciência de que é preciso otimizar o código desde o início da codificação. Seguir boas práticas de codificação é o ponto de partida para escrever um código otimizado e legível.

Separei 10 dicas de otimização de código para ajudar no aumento de performance.

1. Use funções nativas do PHP

Sempre que possível, utilize as funções nativas do PHP ao invés de escrever suas próprias funções para atingir o objetivo. Caso ainda não esteja totalmente familiarizado com a linguagem, procure no manual se a função que você quer existe.

2. Prefira utilizar aspas simples

Aspas simples ( ‘ ) é mais rápido que aspas duplas ( “ ). Quando você usa a aspa simples entende-se que o conteúdo é um string, porém quando você utiliza aspas duplas, o compilador verifica se existe a presença de alguma variável dentro da string e isto adiciona uma sobrecarga desnecessária.

3. Use funções de string apropriadas

A função str_replace é mais rápida que o preg_replace, mas a strtr é quatro vezes mais rápida que a str_replace.

4. Defina o valor para a variável

Por exemplo, o seguinte irá degradar o desempenho.

for ($ i = 0; i <count($num); $ i + +) {
   echo $num; 
}

O script abaixo terá um desempenho muito melhor.

$total = count($num);

for ($ i = 0; i <$total; $ i + +) {

echo $total;

}

5. Não crie Classes sem necessidade

Não crie Classes e Métodos até que seja realmente necessário e principalmente que possam ser reutilizados.

6. Use técnicas de caching

Utilize cache para reduzir as conexões/carga ao banco de dados e a compilação script. Uma boa opção para reduzir as conexões/carga ao banco de dados é o Memcache e o APC para o cache opcode e otimização do código intermediário.

7. Feche a conexão

Adquira o hábito de fechar a conexão com o banco de dados; isto economiza memória.

8. Reduza os acessos ao BD

Reduza a quantidade de acessos ao banco de dados. Faça consultas utilizando o menor número de conexões possível. Por exemplo:

$con = mysql_connect ("localhost", "username", "senha", "database");

if (mysql_connect_errno ())
{

echo "Falha ao conectar ao MySQL";
mysql_connect_error ();

}

function insertValue ($ val) {

mysql_query( "INSERT INTO Table ( $val )" );

}

for ($ i = 0; $ i <99; $ i + +) {

// Invocando a função para inserir os dados
insertValue $(i);

}

// Fechando a conexão como a melhor prática!
mysql_close ($con);

O script acima é muito mais lento do que o script abaixo:

$con = mysql_connect ("localhost", "user", "passwd", "database");

if (mysql_connect_errno ())
{

echo "Falha ao conectar ao MySQL";
mysql_connect_error ();

}

function insertValues ​​( $val ) {

// Inserindo com todos os 99 valores, utilizando apenas um INSERT.
$ query = "INSERT INTO Table ( ".implode(',', $ val)." )";
mysql_query ($con, $query);

}

$dados = array();

for ($ i = 0; $i<99; $ i + +) {      

// Criação do vetor com os dados.      
$ dados[] = $i;    

}    

// Invocando a função para inserir os dados
insertValues ​​($ dados);    

// Fechando a conexão como uma boa prática!   
mysql_close ($con); 

9. Use JSON

Use JSON em vez de XML sempre que trabalhar com aplicativos web. Existem funções nativas no PHP para trabalhar com JSON, como json_encode () e json_decode () e estas funções são extremamente rápidas.

10. Use Isset

Sempre que possível, use isset () em vez de usar strlen(), count(), ou sizeof() para verificar se o valor retornado é maior que 0. Por exemplo, você tem uma função que retorna uma variável, quer verificar se possui valores ou não, use o seguinte:

if ( isset($returnValue) ) {    

// Fazer algo aqui 

} 

Neste caso, use o bloco de código acima, em vez de o seguinte:

if (count($returnValue) 0) {

// Fazer algo aqui

}