Open Mateus-Hirt opened 3 years ago
@Mateus-Hirt Muito obrigado pelas dicas, vamos reavaliar algumas mensagens de erro futuramente. Muitos desses podem ser facilmente reescritos se é apenas alterar o texto. Em alguns casos pode ser mais complicado, se o tipo de erro requer alguma identificação específica do antlr. Sobre a ajuda, realmente seria bom colocar em uma ordem de leitura.
O Portugol Studio é uma plataforma para iniciantes aprenderem programação. Certo, mas vamos olhar alguns textos que podem (e certamente o fazem) confundir alguns dos alunos e que, ao meu ver, deveriam ser alterados, de forma a deixá-los mais informativos. Oh, e com "iniciante" eu quero dizer alguém que nunca teve contato com programação, que está dando seus primeiros passos no Portugol Studio, que não detém nenhum conhecimento de termos técnicos, tecnologias e muito menos estrutura de código.
Exemplo 1, do erro da expressão
O seguinte programa gera um erro:
Sim, é claro. Mas vamos olhar por uma ótica iniciante, caso um iniciante tenha escrito esse código, o que ele entenderia? Bolhufas. "O que é uma 'expressão'?", "O que eu errei?" e "Declarei a variável certo, o que houve?" são algumas perguntas que podem surgir na cabeça do aluno. Mas, como contornar isso? Uma das soluções que pensei é informar o significado de termos técnicos no próprio console do Portugol, além de, claro, um pequeno exemplo. Poderia adicionar um ícone de informação (ⓘ) do lado do código de erro, que, ao ser clicado, exibiria mais informações, como uma explicação do que é uma expressão e um pequeno exemplo de como resolver o erro.
⠀
Exemplo 2, do aviso de truncamento
O seguinte programa gera um aviso:
"O valor será o quê?" Certo, o programa retorna 3 como o preço do pastel, então o usuário consegue perceber que as casas decimais foram retiradas, mas, como ele pode fazer para as casas decimais aparecerem? Ele não faz a mínima ideia. Umas das soluções seria exatamente a mesma da do caso de cima, explicar ao usuário o que aconteceu ("Você declarou um valor do tipo real para uma variável do tipo inteiro, então as casas decimais do número serão retiradas") e explicar como resolver ("Mude o tipo da variável de inteiro para real ou mude o valor para um número inteiro"). Por que também não atribuir um exemplo do próprio Portugol, para situações como essas? Por exemplo, "Para ver um exemplo, clique [aqui]()", quando o link fosse clicado, abriria uma nova guia com um dos exemplos nativos da IDE, contendo um programa com números inteiros e reais, ou até mesmo uma guia da Ajuda do Portugol.
⠀
Exemplo 3, da Ajuda
A Ajuda deveria estar organizada na ordem que o estudante deveria ler, não alfabeticamente. Um iniciante que não entende nem como declarar uma variável não vai entender nada sobre bibliotecas, por exemplo, por mais que a ajuda de bibliotecas venha antes da ajuda de declaração de variáveis, por estar alfabeticamente organizada:
⠀
E por aí vai. Claro, entendo que existam muitos códigos de erro e de aviso e que seria bem difícil para fazer um texto explicativo para cada situação específica, mas seria uma mão na roda para os iniciantes, principalmente os que não tem tutoria, que estão aprendendo por conta própria, além de não ter assistido nenhum curso inteiro antes de começar a programar no Portugol.