Dissertação

Refactoring Dynamic Languages EVALUATED

Tipicamente, os programadores inexperientes não dominam as regras de estilo das linguagens de programação que estão a usar e frequentemente não tem a agilidade lógica para evitar a escrita de código redundante. Consequentemente, os seus programas até podem estar correctos do ponto de vista lógico, mas podem ser melhorados. Por isso, é importante para o programador aprender o que pode fazer para melhorar o programa, sem mudar o significado do programa, transformando-o para seguir as regras de estilo da linguagem de programação usada. Estas transformações são do domínio das ferramentas de refactorização. Contudo, estas são tipicamente associadas a ambientes de desenvolvimento integrados (IDEs) sofisticados que são excessivamente complexos para programadores inexperientes. Por outro lado, como existem varias linguagens de programação a serem usadas em cursos de introdução a programação, não é expectável que convirjam para uma só linguagem a ser ensinada nos vários cursos de introdução a programação. Nesta tese, apresentamos uma ferramenta de refactorização desenhada para programadores inexperientes, que disponibilizamos no DrRacket, um IDE simples e pedagógico. A nossa ferramenta fornece várias operações de refactorização específicas para os erros típicos feitos por programadores inexperientes e é pretendido que seja usado como parte do processo de aprendizagem. Apresentamos ainda, uma framework desenhada para simplificar a criação de ferramentas de refactorização para linguagens dinâmicas, que avaliamos ao criar ferramentas de refactorização para Python, Processing e Racket.
Ferramenta de refactorização, Pedagogia, Framework, Racket

Maio 30, 2016, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

António Paulo Teles de Menezes Correia Leitão

Departamento de Engenharia Informática (DEI)

Professor Auxiliar