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.

5. Lições Aprendidas