Perceptions and Difficulties of Software Engineering Students in Code Smells Refactoring - Bezerra, Carla; Damasceno, Humberto; Teixeira, João (Anais do Workshop de Visualização, Evolução e Manutenção de Software (VEM), 2022)
Code smells are bad code structures that can harm the quality and maintainability of software. To remove these bad structures, developers use refactoring techniques. Refactoring helps code be easier to understand and modify by eliminating potential problems and improving the software quality. Most refactoring activities are usually performed manually and undisciplined, which can cause code degradation. Currently, concepts, practices and tools of refactoring and code smells are little discussed in undergraduate computing courses. This problem is reflected in the software industry, which generally does not use refactoring practices to improve code readability and maintainability. In this context, we present in this paper an experience report on teaching the practice of code smells refactoring, investigating the following topics: (i) skills acquired in the practice of code smells refactoring, (ii) difficulties encountered in code smells refactoring and (iii) students’ perception of code smells refactoring practices. The study was carried out in two undergraduate classes with 20 students in the course of software quality. Our findings contribute to replicating the practice in other courses that want to delve into code smell refactoring and contribute to the use of refactoring practices and code quality evaluation in the industry.