Open carolkekas28 opened 1 week ago
setState
dentro do initState
, resolvido removendo-os de getBudgetAndSpendings
e setCurrentColor
;getProgressColor
;@dispose
;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.
Code Smells:
Cadastro Receitas e Despesas:
Duplicate Code (Dispensables): O código para pegar e editar os dados do Firestore está duplicado nos métodos getReceitasDespesas e adicionarReceitaOuDespesa.
lib\services\receitasService.dart