Closed pedroeagle closed 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.
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:
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:
A descrição do erro é detalhada dizendo até mesmo que um ':' era esperado na linha 191.
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.
Eu e o @pedroeagle pareamos para adicionar o comparador ao travis, testamos casos de erro e sucesso, tudo ocorreu corretamente conforme o esperado.
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