Postmortem - Paradigmas-2-2017/contact-book GitHub Wiki
1. Introdução
2. Pontos Positivos
O problema escolhido favorece a utilização do paradigma funcional.
Utilização do módulo ANSI terminal para movimentação de cursor, tornando o cadastro de novos contatos visualmente mais agradável.
A utilização de árvore binária como estrutura de dados para armazenamento dos contatos torna eficiente a exibição dos contatos em ordem alfabética (travessia em ordem por nome).
3. Pontos Negativos
A imaturidade dos membros da equipe quanto a tecnologia utilizada representou um grande risco ao projeto.
A não participação de membros do grupo tornou-se um risco para a entrega do escopo determinado previamente.
O uso de uma árvore binária simples que não garante a integridade da estrutura de dados podendo desencadear a degeneração da árvore e queda no desempenho da busca.
4. Pontos a Melhorar
Exceção não tratada ao fazer busca por contato não cadastrado.
Exceção não tratada ao tentar excluir um usuário não cadastrado;
Exceção não tratada ao tentar iniciar o sistema apos excluir o último contato cadastrado, uma vez que o interpretador não consegue lidar com o arquivo “contacts.txt” em branco. Possível solução: manter um arquivo que grava o número de contatos cadastrados, para que ao se verificar que o último contato foi excluído, o arquivo “contacts.txt” possa também ser excluído, e assim, posteriormente recriado ao cadastrar um novo contato.
É necessário criar o diretório “database/” manualmente. Possível solução: procurar uma maneira de verificar se o diretório existe e, caso não exista, criá-lo.
Para fazer busca por um contato específico ou excluir um contato, é necessário digitar o primeiro nome do contato exatamente da maneira em que foi cadastrado (case-sensitive).
A evolução da árvore binária para uma estrutura de dados que se recupera em caso de degeneração, como uma árvore AVL ou árvore vermelho e preto.