Introduction
00:00:00Радость от написания оптимизированного, чистого кода не имеет себе равных, но настоящее удовлетворение приходит от развертывания и использования готового проекта. Однако чрезмерные затраты времени на рефакторинг могут препятствовать прогрессу и развертыванию.
My Story
00:00:47Проблемы устаревшего кода Спикер делится своим опытом разработчика full stack, работающего над проектом, который со временем эволюционировал, добавляя больше функций и устройств. Исходный код был простым, но стал сложным из-за множества инструкций if-else для обработки новых сценариев. Рефакторинг устаревшего кода поначалу казался простым решением, но превратился в бесконечный цикл попыток сделать код чище и лучше.
Непредвиденные проблемы при рефакторинге После запуска процесса рефакторинга поступили запросы на новые функции, которые привели к параллельной работе над двумя отдельными ветвями - одной для текущих функций и другой для переработанной версии. То, что, как ожидалось, займет всего пару недель, в итоге заняло месяцы из-за непредвиденных сценариев, которые необходимо было учитывать при рефакторинге. Несмотря на то, что некоторые проблемы были исправлены, в новой версии появились те же проблемы, что и раньше.
Tip #1
00:05:00Рефакторинг необходим для обновления и улучшения кода по мере развития продукта. Важно избегать масштабных переделок путем итеративного рефакторинга, внося небольшие улучшения по ходу дела. Цель состоит в том, чтобы сделать код лучше, чем он был раньше, даже если каждый раз он улучшается всего на 1%.
Tip #2
00:06:31Идеального кода в реальном мире не существует. Признание того, что ваш код не будет идеальным, - это первый шаг к тому, чтобы избежать чрезмерной реакции и разочарования. Беспорядочная и сложная природа реального мира означает, что в вашем коде всегда будут какие-то несовершенства.
Tip #3
00:07:48Работая с другими пользователями, делитесь с ними своими идеями по коду или проводите обзоры кода, чтобы убедиться в чистоте и простоте использования кода. Другие разработчики могут помочь вам улучшить ваш код, поставив под сомнение ненужную сложность и оценив целесообразность масштабного рефакторинга.