DEV Community

Cover image for Clean Code em PHP moderno.
Daniel Camucatto
Daniel Camucatto

Posted on

Clean Code em PHP moderno.

O PHP não é mais a linguagem "bagunçada" de dez anos atrás. Com a chegada das versões 8.x, ganhamos ferramentas poderosas que nos permitem escrever códigos elegantes, tipados e, acima de tudo, sustentáveis.

Mas ter as ferramentas não garante um código limpo. O Clean Code não é sobre regras rígidas, mas sobre empatia com quem vai ler seu código amanhã (inclusive você mesmo).

Aqui estão os pilares para aplicar Clean Code no PHP atual:

  1. Tipagem Estrita e Type Hinting

O PHP moderno é uma linguagem de tipagem forte, se você quiser que ela seja. Esqueça comentários de PHPDoc para definir tipos de retorno quando você pode fazer isso nativamente.

Evite: /** @return int */ public function soma($a, $b)

Prefira: public function soma(int $a, int $b): int

Use o declare(strict_types=1); no topo de seus arquivos para garantir que o motor do PHP não faça conversões silenciosas e inesperadas.

  1. Constructor Property Promotion

Um dos maiores "ruídos" de classes antigas era a repetição de nomes de variáveis no construtor. No PHP 8+, podemos reduzir o boilerplate drasticamente:

// Antes (Verboso)
class User {
private string $name;

public function __construct(string $name) {
    $this->name = $name;
}
Enter fullscreen mode Exit fullscreen mode

}

// Agora (Clean)
class User {
public function __construct(
private string $name
) {}
}

  1. Early Return (Retorno Antecipado)

Evite o "Código Espaguete" com múltiplos if/else aninhados. Se uma condição não for atendida, saia da função o quanto antes. Isso reduz a carga cognitiva de quem lê.

Exemplo:

// Ruim: Ninhos de IF
if ($usuarioLogado) {
if ($possuiPermissao) {
return $conteudo;
}
return "Sem permissão";
}
return "Não logado";

// Bom: Early Return
if (!$usuarioLogado) {
return "Não logado";
}

if (!$possuiPermissao) {
return "Sem permissão";
}

return $conteudo;

  1. Use as Enums (PHP 8.1+)

Se você ainda usa strings ou constantes para definir "status" ou "categorias", mude para Enums. Elas trazem segurança de tipo e eliminam valores mágicos perdidos no código.

enum StatusPedido: string {
case Pendente = 'pendente';
case Pago = 'pago';
case Cancelado = 'cancelado';
}

  1. O Princípio da Responsabilidade Única (SRP)

Se a sua classe UsuarioService envia e-mail, formata PDF e salva no banco, ela está fazendo demais. Um código limpo em PHP moderno preza por classes pequenas e métodos que fazem apenas uma coisa e a fazem bem.

Conclusão

Escrever Clean Code em PHP é um processo de evolução contínua. Ao adotar as novas funcionalidades da linguagem e aplicar princípios sólidos de engenharia, transformamos sistemas legados em plataformas robustas e fáceis de manter.

E você, qual funcionalidade do PHP moderno mais te ajuda a manter o código limpo hoje? Vamos debater nos comentários!

PHP #CleanCode #WebDevelopment #Backend #SoftwareEngineering #Programacao

Top comments (0)