Um bom código PHP deve ser estruturado; um bom código PHP deve ser padronizado; um bom código PHP deve ser adaptável; um bom código PHP deve ser seguro...
Com certeza perguntarei isso quando for um entrevistador no SitePoint. são as vantagens e desvantagens do código PHP? Porque esta pergunta pode me dar uma ideia geral de que tipo de programador o candidato é, em vez de simplesmente testar seu domínio das funções PHP (a certificação PHP do Zend é boa nisso, e as perguntas da entrevista do programador PHP do Yahoo também são).
É importante ressaltar que esta pergunta me permite saber se o candidato teve a experiência de assumir um pedaço de código confuso de um programador preguiçoso para reutilizá-lo ou ajudar outros membros da equipe com esse tipo de coisa.
Admito que eu mesmo não tenho uma resposta satisfatória para essa pergunta, mas sei as respostas que quero ouvir:
Um bom código PHP deve ser estruturado. Grandes seções de código devem ser divididas em funções ou métodos, enquanto pequenas seções de código que não chamam a atenção devem ser comentadas para que seu propósito fique claro posteriormente. E o código front-end como HTML, CSS, Javascript, etc. deve ser separado do programa tanto quanto possível. Os recursos de programação orientada a objetos do PHP podem ajudar os programadores a organizar seu código de maneira ordenada.
Um bom código PHP deve ser padronizado. Seja definindo regras de nomenclatura para nomes de variáveis e funções, padronizando processos reutilizáveis, como operações de banco de dados e tratamento de erros, ou simplesmente especificando como o código deve ser recuado, essas padronizações podem tornar o código mais legível.
Um bom código PHP deve ser adaptativo. PHP tem muitos recursos, como aspas mágicas e tags curtas. Ativar e desativar esses recursos afetará a execução do programa. Portanto, um bom programador deve adicionar instruções apropriadas ao seu código para que o programa possa se ajustar de acordo com o ambiente.
Um bom código PHP deve ser seguro. Embora o PHP seja uma linguagem eficiente e flexível, sem estrutura fixa, ele deixa as questões de segurança para os programadores. Uma compreensão profunda das possíveis vulnerabilidades de segurança, como cross-site scripting (XSS), cross-site request forgery (CSRF), vulnerabilidades de injeção de código, vulnerabilidades de loop de codificação de caracteres, etc., é crucial para os programadores profissionais de hoje.
Quando um candidato responde a essas perguntas, sei claramente se devo contratá-lo. É claro que às vezes os programadores não conseguem articular bem o problema e pedimos que façam alguns testes de PHP. Muitas das questões do teste podem parecer muito simples à primeira vista, mas também dão aos candidatos a oportunidade de se expressarem, porque se olharem com atenção, poderão identificar os problemas.
O seguinte pequeno pedaço de código PHP "ruim" é uma questão de teste simplificada. Esta pergunta é como perguntar: Como você deve otimizar este código?
<?
echo("<p>Resultados da pesquisa para consulta: " .
$_GET['consulta'] ".</p>");
?>
O principal problema deste código é que ele exibe os dados enviados pelo usuário diretamente na página web, criando assim uma vulnerabilidade XSS. Na verdade, existem muitas maneiras de preencher essa lacuna. Então, que código queremos?
<?
echo("<p>Resultados da pesquisa para consulta: " .
htmlspecialchars($_GET['query']) ".</p>");
?>
Este é o requisito mínimo. A vulnerabilidade XSS foi preenchida com a função htmlspecialchars, bloqueando assim caracteres ilegais.
<?php
if (isset($_GET['consulta']))
{
echo '<p>Resultados da pesquisa para consulta: ',
htmlspecialchars($_GET['query'], ENT_QUOTES), '.</p>';
}
?>
Pessoas que podem escrever esse código devem ser aquelas que eu quero contratar.
<? foi substituído por <?php, que é mais consistente com as especificações XML.
Antes de gerar o valor de $_GET['query'], primeiro determine se ele está vazio.
Os parênteses extras no comando echo foram removidos.
Strings são qualificadas com aspas simples, o que economiza tempo do PHP na busca por variáveis substituíveis na string.
Use vírgulas em vez de pontos para economizar tempo de eco.
Passe o sinalizador ENT_QUOTES para a função htmlspecialchars para garantir que aspas simples também sejam escapadas. Embora isso não seja o mais importante, também é um bom hábito.
Infelizmente, existem poucos programadores que podem dar uma resposta tão satisfatória. Levamos 3 meses para recrutar programadores que nos deixaram satisfeitos.
Então, como você responderia à pergunta feita no início deste artigo? Quais você acha que são as vantagens e desvantagens do código PHP? Que outras qualidades você acha que um programador PHP deveria ter?
Este artigo vem de: http://www.yeeyan.com/articles/view/38585/18736
Link original: http://www.sitepoint.com/blogs/2007/05/25/good-and-bad-php-code/