Сегодня попал на один очень интересный гайд. Точнее сайт, посвященный рефакторингу. Советую к прочтению :) Рефакторинг - 1Итак, кратко о чем речь: рефакторинг — это контролируемый процесс улучшения вашего кода, без написания новой функциональности. Задача рефакторинга: уменьшить технический долг. Цель рефакторинга: чистый код и простой дизайн. Чистый код = Простой код
  • Чистый код проходит все тесты.
  • Чистый код очевиден для других программистов.
  • Чистый код не содержит дублирования.
  • Чистый код содержит минимум классов и других движущихся частей.
  • Чистый код легче и дешевле поддерживать.
Как проходит рефакторинг? Рефакторинг следует проводить серией небольших изменений, каждое из которых делает существующий код чуть лучше, оставляя программу в рабочем состоянии. Чеклист правильно проведенного рефакторинга:
  • В процессе рефакторинга не создается новая функциональность.
  • После рефакторинга все существующие тесты должны успешно проходить.
  • После рефакторинга код должен стать чище.
Подробнее, с прекрасно оформленными примерами — по ссылке.