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