masterThesis
Suporte a refatorações em um sistema de transformação de propósito geral
Registro en:
Alexandre dos Santos, Gustavo; Henrique Monteiro Borba, Paulo. Suporte a refatorações em um sistema de transformação de propósito geral. 2006. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2006.
Autor
SANTOS, Gustavo Alexandre dos
Institución
Resumen
A técnica de refatoração de código vem se tornando cada vez mais comum em processos de desenvolvimento de software. A reestruturação contínua durante o processo de desenvolvimento contribui para um aumento da qualidade do código em termos de legibilidade, modularidade e reusabilidade. Desta forma, ganha-se em produtividade no processo como um todo. Por esta razão, refatorações são fortemente estimuladas em metodologias ágeis, como Extreme Programming (XP).
Apesar do benefício trazido pela aplicação de refatorações durante o desenvolvimento, sua execução manual costuma ser cansativa e suscetível a erros. Por isto, tem crescido a adoção de ferramentas para aplicação automática de refatorações. Embora estas ferramentas ofereçam uma grande vantagem em relação ao processo manual, elas compartilham uma limitação comum: oferecem suporte a um número limitado de refatorações. Quando da necessidade por parte do usuário de customizar ou definir novas refatorações, a tarefa se mostra custosa e pouco amigável, já que é necessária a alteração direta do código fonte das ferramentas existentes. Este trabalho apresenta o desenvolvimento de um sistema de transformação de propósito geral que permite, de forma amigável para o programador convencional, a definição e aplicação de refatorações. Tal sistema é desenvolvido como uma extensão de JaTS, um sistema de transformação para a linguagem Java.
Entre as contribuições do trabalho aqui apresentado estão a definição de uma linguagem de transformação com suporte a refatorações e a implementação das refatorações Self Encapsulate Field e Extract Method Conselho Nacional de Desenvolvimento Científico e Tecnológico