~/questoes/programacao
Modularidade em arquitetura serverless significa construir a solução em componentes independentes que podem ser adicionados, modificados ou removidos sem quebrar o sistema todo. Isso permite começar simples e adicionar funcionalidades conforme o projeto cresce, sem precisar reconstruir tudo do zero.
A alternativa correta reconhece que modularidade permite evolução incremental do projeto. Você começa com um chat básico funcional e vai adicionando features (análise de sentimento, bots especializados, novos modelos) conforme necessário, sem parar ou reconstruir o aplicativo inteiro.
Redução de memória em 50% é um possível benefício de otimização, mas não é o motivo principal da modularidade. Além disso, não é garantido e depende de como o código é escrito, não da estrutura modular em si.
Modularidade ajuda a legibilidade, mas não garante que qualquer desenvolvedor no mundo entenda seu código. Isso dependeria também de documentação, padrões globais e experiência do desenvolvedor, não apenas da modularidade da solução.
Modularidade não elimina a necessidade de atualizar o aplicativo. Na verdade, você vai atualizar e adicionar novos módulos frequentemente. O que muda é que essas atualizações ficam mais fáceis e isoladas, não que desapareçam.
Essa é a definição prática de modularidade: permite começar com um produto mínimo viável (chat simples) e evoluir incrementalmente. Cada nova funcionalidade pode ser um módulo separado, sem comprometer o sistema existente.