Home | Escopo e Cronograma | Processo | Design/Mockups | Configuração | Arquitetura | Código | BD | Qualidade |
---|
Código
Descrição
Aqui serão apresentadas as convenções do código desenvolvido, padrões, documentação e conceitos básicos serão alguns dos assuntos abordados.
Sumário
Ferramentas de Padronização
Lint
O lint é uma ferramenta de análise de código estática. Ele é executado para sinalizar erros de programação, erros estilísticos, bugs e construções suspeitas que possam prejudicar ou causar o baixo desempenho ao código da aplicação.
Na prática, o lint é uma espécie de corretor bastante “chato” que faz uma varredura em todo o seu código. Portanto, ele pode encontrar algumas desconformidades, como:
Espaçamento incorreto;
Falta de “;” quando é necessário;
Ultrapassagem de limites de caracteres por linha;
Uso de aspas simples e duplas;
Uso de imports descontinuados;
Variáveis declaradas e não utilizadas.
E, para ser utilizado nas equipes tech, o lint se apresenta sob algumas ferramentas.
Neste caso, estamos utilizando TSLint feito para TypeScript e Lint para Dart/ Flutter.
Nomenclatura de Arquivos
Para a nomenclatura dos arquivos, utilizamos o padrão MVVM.
O MVVM é capaz de separar a lógica de negócios da interface do usuário.
O MVVM é útil para mover a lógica de negócios da visualização para ViewModel e Model. ViewModel é o mediador entre View e Model que carrega todos os eventos do usuário e retorna o resultado.
Frontend
Model
A Model representa uma única fonte de verdade que carrega os dados de busca em tempo real ou consultas relacionadas ao banco de dados.
Essa camada pode conter lógica de negócios, validação de código, etc. Essa camada interage com o ViewModel para dados locais ou em tempo real. Os dados são fornecidos em resposta a ViewModel.
ViewModel
ViewModel é o mediador entre View e Model, que aceita todos os eventos do usuário e solicita isso ao Model para dados. Uma vez que o modelo tenha dados, ele retorna ao ViewModel e, em seguida, o ViewModel notifica esses dados para o View.
ViewModel pode ser usado por várias visualizações, o que significa que um único ViewModel pode fornecer dados para mais de uma visualização.
View
A View é onde o usuário está interagindo com os Widgets que são mostrados na tela. Esses eventos de usuário solicitam algumas ações que navegam para o ViewModel, e o restante do ViewModel faz o trabalho. Depois que a ViewModel tiver os dados necessários, ele atualiza a View.
Backend
Controllers
O único objetivo de um controlador é receber solicitações para o aplicativo e lidar com rotas.
Services
Esta parte do bloco deve incluir apenas a lógica de negócios. Por exemplo, todas as operações e métodos CRUD para determinar como os dados podem ser criados, armazenados e atualizados.
Camada de Acesso a Dados
Esta camada cuida e fornece lógica para acessar dados armazenados em algum tipo de armazenamento persistente. Por exemplo, um ODM como o Mongoose.
Modules
O arquivo do módulo agrupa todos os nossos controladores e provedores/serviços e exporta uma classe que pode ser importada para instanciar nossa aplicação. Cada aplicativo tem pelo menos um módulo raiz. O Nest usa esse módulo raiz para criar o gráfico do aplicativo — a estrutura de dados internos que o Nest usa para resolver o módulo e as dependências.
Código
Aqui vai uma sugestão de configuração do seu vscode para o frontend, acesse o "help > show all comands" e selecione o "Preferences: Open User settings" settings.json
e adicione:
"[dart]": {
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"editor.defaultFormatter": "Dart-Code.dart-code",
"editor.formatOnSave": true,
},