Identificação e correção de code smells no sistema de cadastro de usuários.
Alguns code smells identificados na tela de cadastro:
Lógica de autenticação e Firestore no mesmo método (Bloater): O método '_registrar' fazendo tanto a autenticação quanto a inserção de dados no Firestore é um bloat, visto que possui múltiplas tarefas (autenticação e manipulação de banco de dados). Para corrigir, será necessário separar as responsabilidades de autenticação e salvamento no Firestore em métodos diferentes.
Verificações de validade de senha e e-mail repetidas (Dispensable): A validação de email e senha repetida nos campos de formulário é redundante. É possível centralizar a validação em uma função e chamá-la sempre que necessário.
Uso excessivo de variáveis de instância no estado (Bloater): O uso de muitas variáveis de instância para controlar o estado diretamente no widget pode ser considerado um bloater. Em vez de organizar de maneira modular (por exemplo, usando controladores separados para cada campo), as variáveis estão ocupando mais espaço na classe do que o necessário e aumentando a complexidade de sua manutenção. Para corrigir isso deve-se utilizar controladores para gerenciar o estado de cada campo de entrada de forma isolada.
Uso de constantes de cores diretamente no código (Dispensable): Usar constantes como 'colors.green' diretamente no código é um exemplo de dispensalbe, pois essas cores podem ser abstraídas em um lugar centralizado, o que simplificaria o código e facilitará possíveis alterações futuras.
Identificação e correção de code smells no sistema de cadastro de usuários.
Alguns code smells identificados na tela de cadastro:
Lógica de autenticação e Firestore no mesmo método (Bloater): O método '_registrar' fazendo tanto a autenticação quanto a inserção de dados no Firestore é um bloat, visto que possui múltiplas tarefas (autenticação e manipulação de banco de dados). Para corrigir, será necessário separar as responsabilidades de autenticação e salvamento no Firestore em métodos diferentes.
Verificações de validade de senha e e-mail repetidas (Dispensable): A validação de email e senha repetida nos campos de formulário é redundante. É possível centralizar a validação em uma função e chamá-la sempre que necessário.
Uso excessivo de variáveis de instância no estado (Bloater): O uso de muitas variáveis de instância para controlar o estado diretamente no widget pode ser considerado um bloater. Em vez de organizar de maneira modular (por exemplo, usando controladores separados para cada campo), as variáveis estão ocupando mais espaço na classe do que o necessário e aumentando a complexidade de sua manutenção. Para corrigir isso deve-se utilizar controladores para gerenciar o estado de cada campo de entrada de forma isolada.
Uso de constantes de cores diretamente no código (Dispensable): Usar constantes como 'colors.green' diretamente no código é um exemplo de dispensalbe, pois essas cores podem ser abstraídas em um lugar centralizado, o que simplificaria o código e facilitará possíveis alterações futuras.