1
resposta

Refatoração do SnackBar

Pensando na aula sobre refatoração, ele mostra como fazer para _criarTransferência, mas gostaria de saber qual seria a melhor forma de refatorar o SnackBar (que foi posto como novidade). Poderiam me indicar a melhor forma de realizar a refatoração para o seguinte pedaço do código?

ElevatedButton(
            child: Text('Confirmar'),
            onPressed: () {
              // _criarTransferencia();
              final int numeroConta =
                  int.tryParse(_controladorCampoNumeroConta.text);
              final double valor = double.tryParse(_controladorCampoValor.text);
              if (numeroConta != null && valor != null) {
                final transferenciaCriada = Transferencia(numeroConta, valor);
                Scaffold.of(context).showSnackBar(
                  SnackBar(
                    content: Text('Transferencia realizada com sucesso!'),
                    duration: const Duration(milliseconds: 3500),
                    width: 280.0, // Width of the SnackBar.
                    padding: const EdgeInsets.symmetric(
                      horizontal: 8.0, // Inner padding for SnackBar content.
                    ),
                    behavior: SnackBarBehavior.floating,
                    shape: RoundedRectangleBorder(
                      borderRadius: BorderRadius.circular(10.0),
                    ),
                  ),
                );
              }
            },
          ),
1 resposta

Olá Luana Pereira, tudo bom?

Então, no seu código não seria viável refatorar o SnackBar, pois está sendo chamado apenas uma vez e todos os parâmetros dentro dele é importante deixar. Seria viável refatorar ele, se no caso seu código ficar muito grande e você ter que digitar varias vezes o SnackBar com os mesmos parâmetros, ai criaria um arquivo, com todos os parâmetros que você deseja e no decorrer do seu código faria uma função apenas para chamar o SnackBar, diminuindo bastante o tamanho do código.

Qualquer dúvida, estamos a disposição.