Рефакторинг — это изменения исходного кода без изменения функциональности для улучшения внутреннего качества (простота кода, гибкость архитектуры и т.д.). Для проведения рефакторинга желательно знать «запахи кода» и непосредственно приемы рефакторинга (подробнее — в книге «Рефакторинг. Улучшение существующего кода» Мартина Фаулера).