В то время все это имело смысл, но не сейчас
Я был в рабочем блоке разработчиков. Было несколько хороших и интересных проектов. Потом еще были ужастики. Но неважно, какие чувства я испытываю к коду, у них всех есть одна общая черта — в конечном итоге все они нуждаются в рефакторинге.
Рефакторинг — один из жизненных фактов для всех разработчиков. В какой-то момент мы все с этим сталкиваемся. От этого никуда не деться, и объяснить эту концепцию высшему руководству может быть не менее сложной задачей.
Для многих людей, не являющихся техническими специалистами, программное обеспечение похоже на актив, который создан и оплачен. Для разработчика программного обеспечения это больше похоже на владение собственным домом. В какой-то момент старые трубы дадут течь, или вы вдруг поймете, что строить из асбеста — плохая идея.
Даже новые сборки имеют свои проблемы.
Ничто не идеально. Вам может понравиться цветовая схема и архитектурные планы, но для другого взгляда — это может быть просто перегрузка гедонистического максималистского кода, потакающего своим прихотям, который имел смысл только для его создателя.
Кто-то и где-то всегда будет иметь свое мнение.
Так что же можно сделать, чтобы создать хоть какой-то консенсус? Какие уроки рефакторинга я извлек, которыми можно поделиться и которые могут повлиять на будущие рефакторинги?
У меня есть три слова — три слова, которые я бы хотел, чтобы кто-нибудь сказал мне в начале моих дней разработки программного обеспечения, и то, чем я живу и умираю сейчас, работая в команде, где рефакторинг становится фактором: разработка по контракту.
Проблема с кодом и «гибкой» разработкой
Помните времена гибкой разработки?
Я помню.
Мне обещали великие дела, но они так и не осуществились. От большего количества времени, чтобы исправить ситуацию, до правильной реализации вещей.
Гибкий код со временем превратился в хрупкий код.