Como andam seus projetos desenvolvidos em PHP ?
Ultimamente está sendo partilhado pelos usuários do Reddit.com um tombamento das piores práticas de desenvolvedores em projetos utilizando a linguagem PHP.
Vale a pena, mesmo aos mais “experts”, estar antenado no que NÃO fazer ou não orientar sua equipe, mesmo na ilusão de ser o melhor caminho. O programador tende a optar por facilidades na hora da elaboração dos projetos para reduzir o tempo de desenvolvimento e, consequentemente, para o cliente parar de buzinar na orelha. Nós, programadores, vemos diariamente gafes tolas que podem ser previamente resolvidas com um pouco mais de paciência.
O Top FAIL da lista até agora, inclui:
- Definições de classes múltiplas em um único arquivo
- Salvar senhas unhashed e sem criptografia em um banco de dados
- Usando uma variável global dentro de uma classe para obter uma conexão de banco de dados
- Usar variável com uma única letra
- Usando GET ou POST vars diretamente da entrada do usuário (sem validações de dados)
- Misturar HTML e PHP como se não houvesse amanhã.
- Fazer uso liberal de extract () depois de executar “SELECT *”
- Definir uma classe de exceção personalizada para cada classe
- Não usar conexão com o DB no padrão singleton
- Lançar contantes nos piores lugares
- Recriar register_globals em no código (analisando $ _REQUEST em um loop foreach)
- Requerer diretamente outro arquivo de classe dentro de um método de uma classe
- Não usar comentários e onde há comentários, usa-se coisas inúteis, como: “// isto inscreve um usuário” em um método chamado “SignIn”.
- Reaproveitamento de nomes de variáveis para coisas diferentes
- Criar métodos, variáveis e arquivos com nomes pouco amigáveis e entendíveis
Quem saca de PHP provavelmente se divertiu com a lista (ou não) 😛
Clique aqui para ler o post caso tenha interesse em acompanhar a relação de “deslizes” da galera de PHP.
Para quem ainda não conhece o Reddit.com, é uma rede de publicações sociais, podendo ser imagens, artigos, vídeos, etc, onde você pode votar positivamente ou negativamente nas publicações, destacando-as casa vez mais no portal.
E você, concorda com os pontos relatados acima? Quais foram os maiores absurdos que já presenciou, seja em PHP ou qualquer outra linguagem?
10 Comentários
kkkkkkkkkkkk concordo plenamente,sou recém-chegada e é verdade mesmo.
Sem mencionar
. quem acha que HTML e PHP é a mesma coisa (uma derivante do 5º ítem)
. iniciantes que perguntam “como põe negrito em PHP?”
Concordo com a lista embora não concordo que “Misturar HTML e PHP como se não houvesse amanhã.” esteja correto (aliás, a afirmação ficou até ambígua). Veja,
Utilizo CakePHP e quando monto uma View, estruturo 99% do HTML por meio de echo()’s. Considero mal programado o seguinte:
Quando eu posso simplesmente,
<?php
// Muito mais limpo
if($algo) {
echo "”;
}
?>
A estruturação do HTML em PHP me dá também o benefício de comentários server-side ao invés do uso do que é visivel em código fonte e possivelmente abre o site a ataques caso alguma informação preciosa esteja escrito no mesmo.
Parabéns pelo artigo!
Ou pior, já vi reaproveitamento de classes(até ae tudo bem) onde o mané deu include da classe na outra classe, criou um objeto da classe A dentro da classe B e chamou o seu metodo (¬¬)
assim
// classe B
include ‘classeA.php’;
class B {
public function metodo() {
$classA = new A();
$classA->metodoClassA();
}
}
Usar Singleton como padrão de acesso ao banco de dados é uma besteira grotesca, pelo amor de Deus, não ensinem o pessoal que está começando agora a usar singleton para acesso ao banco, esse padrão viola todos os princípios SOLID(que pelo visto o autor do post parece desconhecer) e gera uma dor de cabeça horrenda nos desenvolvedores.
Concordo com tudo. Mas não entendo porque misturar HTML e PHP possa ser um problema.
Gostei do “Misturar HTML e PHP como se não houvesse amanhã.”
Me divirto quando abro uma View/Template de qualquer framework de PHP da moda e dou de cara com um Foreach entre tags HTML e depois escuto em reuniões que é necessário usar MVC no projeto para dividir as camadas. E quando argumento com um programateco ele me diz que “Qual o problema? PHP dá saída em HTML mesmo”. Tá “serto”…
E olha que eu nem sou programador… Eu trabalho no frontend.
“Misturar html e php como se não houvesse amanhã”
eles falam no sentido de criar páginas nas duas extensões num projeto :
Exemplo:
‘numa página index.html um form formulario.php com resposta sucesso.html’
quem nunca? eu já fiz uns 4 ou 5 destes erros
Para separar bem a logica do design, usando os padrões MVC, uso o smarty, pois ele renderiza bem o projeto e deixa ele fácil de manutenir. Mas aí entra a pratica de programar no padrão MCV(Model View Controlle), o que é recomendável e muito melhor de fazer uma possivel manutenção ou inclusão de serviços no sistema.