Muito bom! Uma dica para quem está iniciando: use espaços e linhas em branco para separar algumas linhas dentro de uma lógica. Código muito junto é difícil entender. Exemplo: - Ruim $caminho['arquivo']=$upload.'/'.$documento['doc_entidade'].'/'.$documento['doc_arquivo']; - Bom $caminho['arquivo'] = $upload . '/' . $documento['doc_entidade'] . '/' . $documento['doc_arquivo']; Já vi códigos legados sem esses espaços para separar as coisas. É horrível entender! Existem ferramentas e extensões que separam automaticamente o código, mas nem sempre todos usam. Valeu, abraço Vinícius!
Uma coisa que eu particularmente gosto muito de fazer é extrair as condições para uma variável antes de passá-las pra um controle de fluxo. Então ao invés de fazer um if (user.idade >= 18) {} eu pego essa condição e jogo numa variável maiorDeIdade, pq aí minha condição ficaria if (maiorDeIdade) {}. O código fica um pouco maior, mas pelo menos pra mim a legibilidade melhora absurdamente.
Curti demais a última dica, já aplicava, mas não tinha um nome, hehehe. Deixaria como outra dica é ter uma boa organização, inclusive com nomes claros em pastas
Vinicius, sobre a tua dica de separar em funções menores, pessoalmente eu adoro fazer isso mas fico encucado quando se trata de um controller. É ok ter essas funções menores em um controller? me soa estranho uma vez que geralmente os metodos no controller respondem à requisicoes. Então o que fazer? Recentemente passei a utlizar Services para algo assim mas as vezes parece overkill... O que acha?
Com certeza é uma boa ter controllers pequenos e com funções pequenas. Em uma arquitetura mais robusta, um Use Case / Application Service que vai ter o fluxo daquela feature. Numa arquitetura mais simples, usa um controller por rota. Ao invés de ter UserController, você pode ter AddUserController, que só cuida de adicionar um usuário. Aí fica mais de boa ter os métodos privados, saca?
@@DiasDeDev Verdade, bem pensado! Então realmente tudo bem, dependendo do caso, ter esses métodos privados no controller que não necessariamente respondem a uma rota mas ajudam os métodos que respondem? Pq eu já fiz isso e fiquei pensando se não tava inventando moda 😅
Aqui está o link para a Imersão IA (Inteligência Artificial) da Alura, completamente gratuita:
www.alura.com.br/imersao-ia?
Muito bom!
Uma dica para quem está iniciando: use espaços e linhas em branco para separar algumas linhas dentro de uma lógica.
Código muito junto é difícil entender. Exemplo:
- Ruim
$caminho['arquivo']=$upload.'/'.$documento['doc_entidade'].'/'.$documento['doc_arquivo'];
- Bom
$caminho['arquivo'] = $upload . '/' . $documento['doc_entidade'] . '/' . $documento['doc_arquivo'];
Já vi códigos legados sem esses espaços para separar as coisas. É horrível entender!
Existem ferramentas e extensões que separam automaticamente o código, mas nem sempre todos usam.
Valeu, abraço Vinícius!
Ótimo ponto!!
Uma coisa que eu particularmente gosto muito de fazer é extrair as condições para uma variável antes de passá-las pra um controle de fluxo. Então ao invés de fazer um if (user.idade >= 18) {} eu pego essa condição e jogo numa variável maiorDeIdade, pq aí minha condição ficaria if (maiorDeIdade) {}. O código fica um pouco maior, mas pelo menos pra mim a legibilidade melhora absurdamente.
Concordo com você, Lucas. Via de regra, acho mais legível dessa forma também.
Eu também!
Obrigado pelo conteúdo !
Muito top, Vinicius....Também sou desenvolvedor PHP há anos e seus videos e dicas são sempre enriquecedores! Parabens!!!
Que bom que tem gostado, Marcio.
😁
Top de mais!!
Valeu, Antonio! :-D
Curti demais a última dica, já aplicava, mas não tinha um nome, hehehe. Deixaria como outra dica é ter uma boa organização, inclusive com nomes claros em pastas
Boa, Michel!
Vinicius, sobre a tua dica de separar em funções menores, pessoalmente eu adoro fazer isso mas fico encucado quando se trata de um controller. É ok ter essas funções menores em um controller? me soa estranho uma vez que geralmente os metodos no controller respondem à requisicoes. Então o que fazer? Recentemente passei a utlizar Services para algo assim mas as vezes parece overkill... O que acha?
Com certeza é uma boa ter controllers pequenos e com funções pequenas.
Em uma arquitetura mais robusta, um Use Case / Application Service que vai ter o fluxo daquela feature. Numa arquitetura mais simples, usa um controller por rota. Ao invés de ter UserController, você pode ter AddUserController, que só cuida de adicionar um usuário. Aí fica mais de boa ter os métodos privados, saca?
@@DiasDeDev Verdade, bem pensado! Então realmente tudo bem, dependendo do caso, ter esses métodos privados no controller que não necessariamente respondem a uma rota mas ajudam os métodos que respondem? Pq eu já fiz isso e fiquei pensando se não tava inventando moda 😅