0%
Calculadora — Capítulo 56

Capítulo 56 — Calculadora

Parte 1C — Oito miniprojetos · Capítulo 56 de 62 · 12 h

Capítulo 56 — Calculadora

Nível: intermediário Duração estimada: 12 h Pré-requisitos: capítulos 08, 09, 13, 16 (Dart) e 45, 46, 48, 49, 51 (Flutter), além do capítulo 55 (projeto 1) O que você saberá fazer ao final: escrever um aplicativo Flutter cujo núcleo de negócio é uma classe Dart pura, testada unitariamente, e cuja interface é apenas uma camada de exibição conectada a ela.


56.0 — Objetivos do capítulo

Ao final deste capítulo, você será capaz de:

  • transformar um documento de requisitos em um autômato de estados antes de escrever a primeira linha de código;
  • isolar a lógica de negócio em uma classe Dart sem nenhum import 'package:flutter/...';
  • modelar a digitação de um número dígito por dígito, incluindo o separador decimal;
  • encadear operações como uma verdadeira calculadora de bolso, tratando a repetição de =, C, CE, o sinal e a porcentagem;
  • lançar e capturar uma exceção de negócio (DivisionParZeroException);
  • formatar um double para exibição humana: separador de milhares, vírgula decimal, notação científica;
  • impedir que um texto longo demais estoure a tela com FittedBox;
  • construir uma grade de botões com Row e Expanded, sem GridView;
  • escrever um widget de botão reutilizável, parametrizado por um enum e colorido pelo ColorScheme;
  • produzir um efeito de toque correto com Material + InkWell;
  • conectar a lógica à interface com um único setState e exibir um histórico em um ListView;
  • aceitar o teclado físico com KeyboardListener e LogicalKeyboardKey;
  • escrever os testes unitários da lógica, executáveis sem emulador.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!