ANÚNCIO

~/questoes/programacao

Qual era a localização original das arrow functions antes da refatoração?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Curso de Node JS Aula 10 Refatorar para o MVC Controller e ajustes
Para fixar

Localização Original das Arrow Functions na Refatoração MVC

Conceito central

Na refatoração para o padrão MVC, as arrow functions que controlavam o comportamento das requisições HTTP precisam ser movidas do arquivo de rotas para o controller. Essa migração é essencial para separar as responsabilidades: as rotas apenas definem os endpoints, enquanto a lógica de negócio fica centralizada no controller.

Por que essa resposta faz sentido

As arrow functions estavam diretamente nas definições de rota no arquivo app.js. Isso significa que a lógica de cada requisição (GET, POST, PUT, DELETE) estava misturada com a configuração das rotas, tornando o código desorganizado e difícil de manter.

Armadilhas comuns

  • Confundir o estado inicial com o final da refatoração—o que era desejado (controllers bem organizados) com o que existia antes (tudo junto nas rotas).
  • Achar que handlers.js ou utils eram parte da estrutura original, quando na verdade a refatoração criou uma arquitetura completamente nova.
  • Pensar que o código estava separado desde o começo, sem perceber que a refatoração MVC é justamente para resolver o problema de código desorganizado.

Entenda as alternativas

A

Um arquivo handlers.js na pasta utils não fazia parte da estrutura original. Na verdade, antes da refatoração, não havia separação em camadas—tudo estava junto nas rotas.

B

Exatamente aqui! As arrow functions estavam espalhadas pelas definições de rota dentro do app.js. Durante a refatoração, elas foram extraídas e organizadas em métodos específicos (index, show, store, update, delete) dentro do SelecaoController.

C

O arquivo de conexão do banco de dados nunca continha as arrow functions como helpers. A conexão é apenas um utilitário para acessar o banco, não um lugar para lógica de rotas.

D

A pasta controllers com arquivos individuais é justamente a solução final da refatoração, não o estado original. Antes, não existia essa estrutura organizada de controllers.

Dica prática: Quando refatorar uma API para MVC, procure sempre pelas arrow functions que tratam as requisições (com parâmetros req, res) dentro do arquivo de rotas. Essas são as primeiras coisas a extrair para o controller. Assim, seu app.js ficará enxuto, com apenas as definições de rota.

Revise pensando: Se alguém disser que as arrow functions estavam em um arquivo separado antes da refatoração, isso faz sentido com o objetivo de aprender MVC? Por quê?