Escolar Documentos
Profissional Documentos
Cultura Documentos
ﱟ 落 練
INSTALAÇÃO ARTIGOS CURSOS EBOOKS DOWNLOADS LOJA
ARTIGOS
Código limpo
Fonte
As dicas deste tutorial não são regras regras de como produzir código-fonte, são
apenas boas práticas. Elas apontam a direção para produzir softwares em PHP ,
que sejam legíveis, reusáveis e refatoráveis. Você não precisa seguir a risca todas as
dicas que serão demonstradas, elas são apenas diretrizes nada mais.
A maioria dos exemplos nesse tutorial funcionam com apenas com PHP 7.1 ou
superior.
Variáveis
Os nomes das variáveis devem ter significado, e que possam ser pronunciados.
Evitar
https://php.com.br/42?codigo-limpo-em-php 1/9
13/12/2023, 10:54 PHP - Código limpo em PHP
1. $ymdstr = $momento->format('y-m-d');
Ideal
1. $dataAtual = $momento->format('y-m-d');
Evitar
1. getUserInfo();
2. getUserData();
3. getUserRecord();
4. getUserProfile();
Ideal
1. getUser();
Evitar
Ideal
Evitar
Ideal
https://php.com.br/42?codigo-limpo-em-php 2/9
13/12/2023, 10:54 PHP - Código limpo em PHP
1. class User
2. {
3. const ACCESS_READ = 1;
4. const ACCESS_CREATE = 2;
5. const ACCESS_UPDATE = 4;
6. const ACCESS_DELETE = 8;
7. }
8.
9. if ($user->access & User::ACCESS_UPDATE)
10. {
11. // code...
12. }
Evitar
8.
9. if ($dia === 'sexta')
10. {
11. return true;
12. }
13. elseif ($dia === 'sábado')
14. {
15. return true;
16. }
17. elseif ($dia === 'domingo')
18. {
19. return true;
20. }
21. else
22. {
23. return false;
24. }
25. }
26. else
27. {
28. return false;
29. }
30. }
31. else
32. {
33. return false;
34. }
35. }
Ideal
https://php.com.br/42?codigo-limpo-em-php 3/9
13/12/2023, 10:54 PHP - Código limpo em PHP
Não force o leitor a traduzir o significado das variáveis do seu código, sempre use
nomes explícitos.
Evitar
8. // ...
9. // ...
10. // ...
11. // O que $li significa mesmo?
12. despachar($li);
13. }
Ideal
https://php.com.br/42?codigo-limpo-em-php 4/9
13/12/2023, 10:54 PHP - Código limpo em PHP
Se o nome da sua classe/objeto diz algo, não repita isso no nome das variáveis.
Evitar
1. class Carro
2. {
3. public $fabricanteCarro;
4. public $modeloCarro;
5. public $corCarro;
6. }
Ideal
1. class Carro
2. {
3. public $fabricante;
4. public $modelo;
5. public $cor;
6. }
Evitar
Meio termo
Este código é mais legível que o anterior, mas ainda assim, é melhor controlar o
valor da variável.
Ideal
Você pode usar declarações de tipos e ter certeza que $nomeCervejaria não será
NULL .
https://php.com.br/42?codigo-limpo-em-php 5/9
13/12/2023, 10:54 PHP - Código limpo em PHP
Não ter argumentos é o caso ideal, um ou dois é aceitável, e 3 deve ser evitado.
Normalmente, se você tem mais de dois argumentos, então sua função está
tentando fazer coisas demais. Quando não é o caso, um objeto de nível superior
será suficiente como argumento.
Evitar
Ideal
1. class MenuConfig
2. {
3. public $titulo;
4. public $corpo;
5. public $textoBotao;
6. public $botaoCancelar = false;
7. }
8.
9. $config = new MenuConfig();
10. $config->titulo = 'Foo';
11. $config->corpo = 'Bar';
12. $config->textoBotao = 'Baz';
13. $config->botaoCancelar = true;
14.
15. function criarMenu(MenuConfig $config): void
16. {
17. // ...
18. }
Evitar
11. }
12. }
Ideal
https://php.com.br/42?codigo-limpo-em-php 6/9
13/12/2023, 10:54 PHP - Código limpo em PHP
Evitar
1. class Email
2. {
3. //...
4.
5. public function handle(): void
6. {
7. mail($this->to, $this->subject, $this->body);
8. }
9. }
10.
11. $mensagem = new Email(...);
12. // O que é isso? Um manipulador para a mensagem? Estamos escrevendo um
arquivo?
13. $mensagem->handle();
Ideal
1. class Email
2. {
3. //...
4.
5. public function enviar(): void
6. {
7. mail($this->to, $this->subject, $this->body);
8. }
9. }
10.
11. $mensagem = new Email(...);
12. // Claro e objetivo
13. $mensagem->enviar();
Flags indicam que a sua função faz mais do que uma coisa. Funções devem fazer
apenas uma coisa. Divida as suas funções se elas seguem dois caminhos baseados
em uma flag.
Evitar
https://php.com.br/42?codigo-limpo-em-php 7/9
13/12/2023, 10:54 PHP - Código limpo em PHP
5. touch('./temp/'.$nome);
6. }
7. else
8. {
9. touch($nome);
10. }
11. }
Ideal
COMENTE SOBRE
ALSO ON PHPBR
https://php.com.br/42?codigo-limpo-em-php 8/9
13/12/2023, 10:54 PHP - Código limpo em PHP
1 Comentário
1 Entrar
G Participe da discussão...
Nome
Uma prática legal, também, é: ao invés de definir o nome da classe como string, por exemplo, no callback
["NomeClasse"], seria melhor usar [NomeClasse::class]. Isso ajuda a ide refatorar os nomes.
3 0 Responder • Compartilhar ›
Instalação .com.br
Artigos
Cursos
EBooks
Downloads © 2018 - Todos os direitos reservados
Loja Política de Privacidade
Contato
https://php.com.br/42?codigo-limpo-em-php 9/9