По версии викапедии рефакторинг это:
Рефакторинг — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и четкости. Рефакторинг позволяет разрабатывать архитектуру программы постепенно, откладывая проектные решения до тех пор, пока не станет более ясной их необходимость.
Другими словами – оптимизация существующего кода для увеличения производительности и читаемости. Любой код программного продукта всегда требует рефакторинга. Другой вопрос насколько необходим рефакторинг сейчас, когда есть более интересные и важные задачи.
В проекте, которым я сейчас занимаюсь, необходимость рефакторинга стала критически необходимой.
Проект разработан используя CodeIgniter и представляет собой каталог предприятий. Разработчик, занимающийся им до меня, был мало знаком с концепцией MVC. Весь код представляет собой смесь php + html + доступ к базе данных. Стоит задача: перенести логику работы с базами данных в модель, формирование html в отображение.
Итак что у меня получилось (на примере одного действия контролера).
Continue Reading »
