Поддержание устаревшего кода
У меня есть старая кодовая база, которая все еще "работает", но ее трудно/почти невозможно поддерживать. Обновление может быть дорогостоящим (с точки зрения времени и денег). Должен ли я просто пойти на это, или я должен продолжать ненавидеть свой мир (но продолжать работать над чем-то, что работает и относительно без ошибок)?
4 answers
Если вы видите будущее на своем сайте, пожалуйста, перепишите его как можно скорее, если он не поддается сопровождению. Я поддерживаю несколько крупных сайтов возрастом более 5 лет, и за то время, которое я потратил, проклиная глупые проблемы, возникшие из-за этого, я мог бы переписать их все. Сделайте себе удовольствие и перепишите его, ведь гораздо интереснее создавать что-то новое;)
Я уверен, что это зависит от конкретных обстоятельств, но обязательно учитывайте дополнительное время, которое вам придется потратить на поддержание существующей кодовой базы, по сравнению с расходы на его обновление. Не зная подробностей, я бы сказал, обновите его, а не боритесь с тем, что у вас есть.
Я согласен с @D4V360, действительно приятно писать что-то заново. Кроме того, рассмотрите концепцию "Технического долга", о которой Джефф и Джоэл говорили в своих подкастах. Вот несколько соответствующих ссылок на эту тему:
- Стив Макконнелл (автор замечательной книги "Code Compete") о техническом долге
- Вышеупомянутый и наш собственный Джефф Этвуд о техническом долге
Я нахожусь в аналогичной ситуации. У моей компании есть свой устаревший веб-сайт, который делает все, что им нужно. Кроме того, у них есть веб-сайт, создаваемый сторонней компанией, чтобы заменить его, который выполняет 90 % того, что им нужно. Они ожидают, что 90 % превратятся в 110 %.
Я выбрал следующий курс действий:
- Поддерживайте устаревший веб-сайт до тех пор, пока не будет доставлен новый сайт
- Как можно быстрее интегрируйте дополнительные функции в новый сайт. возможно
- Поддерживайте новый веб-сайт так, как если бы он не был заменен
- Как только все будет готово и запущено, перестройте сайт и создайте план миграции
- Перейдите на новый новый сайт и забудьте, что любой из этих старых сайтов когда-либо существовал
Как бы мне ни хотелось просто игнорировать два других сайта, это не вариант. Независимо от того, как я к этому отношусь, доставляемый сайт должен будет обслуживать нас в течение определенного количества месяцев, прежде чем я смогу даже попытайтесь заменить его. Оптимизация, поддержание и улучшение этого будет моим приоритетом. Этот сайт должен функционировать в течение всего срока его службы. Таким образом, создание нового нового сайта будет проектом в те времена, когда все работает, и в мое личное время, когда я хочу взломать что-то. Но это нормально, так как это отвечает ожиданиям каждого. Компания, которая ожидает, что этот новый сайт будет работать на определенном уровне, будет иметь свой сайт, работающий на этом уровне, и в то же время я буду активно совершенствуя его за кулисами. И в то же время я снова буду строить замену, которая уничтожит его.
В моей ситуации мой "новый сайт" (от сторонней компании) - это ваша устаревшая кодовая база, а мой "новый новый сайт" - это ваш "я должен просто перестроить его". Поэтому я думаю, что мой короткий ответ заключается в том, что, сохраняя устаревшую кодовую базу, чтобы мир продолжал вращаться, вы все равно можете перестроиться.