Refactoring es una técnica para mejorar la estructura interna del código sin cambiar su comportamiento. Es importante refactorizar código que sea poco entendible, duplicado o muy complejo para facilitar futuras modificaciones y agregar funcionalidad de manera más eficiente. Las herramientas de los IDEs pueden ayudar a realizar rápidamente ciertas transformaciones de refactorización. Los "code smells" sirven como señales para identificar parte del código que se debe refactorizar.