fga-eps-mds / 2019.1-Aix

Chatbot de aprendizado integrado a plataforma Jupyter como base de apoio ao ensino da linguagem python para programadores iniciantes!
https://fga-eps-mds.github.io/2019.1-Aix
GNU General Public License v3.0
18 stars 5 forks source link

Refatorar analisador da domain #408

Closed pedroeagle closed 5 years ago

pedroeagle commented 5 years ago

Na sprint passada foi feito um analisador da domain.yml com o objetivo de procurar por erros de sintaxe na domain e assim evitar que o bot seja quebrado. Alguns problemas foram encontrados ao analisar os textos das utters sendo necessário trocar a estrutura geral de textos da domain. Esta refatoração deve conseguir analisar a domain refatorada na issue #401 .

Tarefas

Critérios de aceitação

pedroeagle commented 5 years ago

Mostrei o analisador para o Fábio (professor de compiladores) e ele falou que era realmente uma boa ideia para evitar problemas mas que não seria necessária implementação, que já existe bibliotecas nativas que fazem essa tarefa. Pesquisando um pouco sobre isso encontrei a PyYAML que promete essa tarefa. Farei alguns testes nisso.

pedroeagle commented 5 years ago

Um exemplo de utilidade do analisador:

Digamos que um novo conteúdo foi inserido e a pessoa que criou uma nova utter se esqueceu de colocar ':' após o nome da utter como na imagem: image

O analisador "compila" a domain.yml retornando 0 caso não encontre problemas e retornando 1 juntamente com a correção a ser feita como na imagem: image

A descrição do erro é detalhada dizendo até mesmo que um ':' era esperado na linha 191.

Yoshida-Eduardo commented 5 years ago

Parabéns @pedroeagle, dei uma olhada aqui e fiz alguns testes, o código foi consistente em localizar erros e identificar quando o arquivo estava correto. A implementação está bem mais limpa que a versão passada também.

Yoshida-Eduardo commented 5 years ago

Eu e o @pedroeagle pareamos para adicionar o comparador ao travis, testamos casos de erro e sucesso, tudo ocorreu corretamente conforme o esperado.