Olá! Seja bem-vindo ao nosso desafio de live coding. Este exercício foi desenhado para nos ajudar a entender sua forma de pensar e suas habilidades de programação na prática. Sinta-se à vontade para perguntar se tiver qualquer dúvida durante o processo.
Vamos imaginar que estamos no início do desenvolvimento de um aplicativo de gerenciamento de tarefas. Para começar, precisamos da funcionalidade central: um sistema que possa adicionar, remover, listar e marcar tarefas como concluídas.
Sua tarefa é implementar um programa na linguagem de sua escolha que atenda aos seguintes requisitos:
-
Crie uma função que permita adicionar uma nova tarefa à nossa lista. Cada tarefa deve ter:
- Um ID único (pode ser um número sequencial simples ou o índice na lista para simplificar).
- Uma descrição (texto).
- Um status inicial de "pendente".
-
Implemente uma função que mostre todas as tarefas cadastradas, exibindo seu ID, descrição e status atual.
-
Crie uma função que, recebendo o ID de uma tarefa, altere seu status para "concluída". Se o ID não corresponder a uma tarefa existente, exiba uma mensagem de erro.
-
Desenvolva uma função que, recebendo o ID de uma tarefa, a remova da lista. Assim como na função anterior, se a tarefa não for encontrada, exiba uma mensagem de erro.
Além da funcionalidade principal, ficaremos atentos a alguns pontos importantes que demonstram seu raciocínio e boas práticas:
- Escolha da Estrutura de Dados: Qual estrutura você usará para armazenar as tarefas (ex: lista de dicionários/objetos)? Sinta-se à vontade para justificar sua escolha.
- Tratamento de Erros: Como você lida com situações como um ID inválido ou uma tarefa que não existe?
- Organização do Código: Buscamos um código limpo, legível e bem estruturado, com funções claras e nomes de variáveis significativos.
- Comunicação: Gostaríamos de ouvir seu processo de pensamento em voz alta. Compartilhe suas ideias, suas decisões e se tiver alguma dúvida. Não se preocupe em ser perfeito; o processo é mais importante.
Sinta-se à vontade para começar. Boa sorte!