Created by Github action --------- Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: github-actions <github-actions@twenty.com>
28 lines
2.0 KiB
Plaintext
28 lines
2.0 KiB
Plaintext
---
|
|
title: Melhores Práticas
|
|
image: /images/user-guide/tips/light-bulb.png
|
|
---
|
|
|
|
<Frame>
|
|
<img src="/images/user-guide/tips/light-bulb.png" alt="Header" />
|
|
</Frame>
|
|
|
|
Este documento descreve as melhores práticas que você deve seguir ao trabalhar no backend.
|
|
|
|
## Siga uma abordagem modular
|
|
|
|
O backend segue uma abordagem modular, que é um princípio fundamental ao trabalhar com NestJS. Certifique-se de dividir seu código em módulos reutilizáveis para manter uma base de código limpa e organizada.
|
|
Cada módulo deve encapsular um recurso ou funcionalidade específica e ter um escopo bem definido. Esta abordagem modular permite uma clara separação de preocupações e remove complexidades desnecessárias.
|
|
|
|
## Exponha serviços para uso em módulos
|
|
|
|
Sempre crie serviços que tenham responsabilidade clara e única, o que melhora a legibilidade e a manutenção do código. Nomeie os serviços de forma descritiva e consistente.
|
|
|
|
Você também deve expor serviços que deseja usar em outros módulos. Expor serviços para outros módulos é possível através do poderoso sistema de injeção de dependências do NestJS, e promove o acoplamento frouxo entre componentes.
|
|
|
|
## Evite usar o tipo `any`
|
|
|
|
Quando você declara uma variável como `any`, o verificador de tipos do TypeScript não realiza nenhum tipo de verificação, permitindo que qualquer tipo de valor seja atribuído à variável. O TypeScript usa inferência de tipo para determinar o tipo da variável com base no valor. Ao declará-lo como `any`, o TypeScript não pode mais inferir o tipo. Isso torna difícil capturar erros relacionados ao tipo durante o desenvolvimento, levando a erros de execução e tornando o código menos sustentável, menos confiável e mais difícil de entender por outros.
|
|
|
|
É por isso que tudo deve ter um tipo. Então, se você criar um novo objeto com um primeiro nome e um sobrenome, você deve criar uma interface ou tipo que contenha um primeiro nome e um sobrenome que definam a forma do objeto que você está manipulando.
|