Поддержание устаревшего кода


У меня есть старая кодовая база, которая все еще "работает", но ее трудно/почти невозможно поддерживать. Обновление может быть дорогостоящим (с точки зрения времени и денег). Должен ли я просто пойти на это, или я должен продолжать ненавидеть свой мир (но продолжать работать над чем-то, что работает и относительно без ошибок)?

 5
Author: Jason, 2010-07-08

4 answers

Если вы видите будущее на своем сайте, пожалуйста, перепишите его как можно скорее, если он не поддается сопровождению. Я поддерживаю несколько крупных сайтов возрастом более 5 лет, и за то время, которое я потратил, проклиная глупые проблемы, возникшие из-за этого, я мог бы переписать их все. Сделайте себе удовольствие и перепишите его, ведь гораздо интереснее создавать что-то новое;)

 4
Author: D4V360, 2010-07-08 19:55:13

Я уверен, что это зависит от конкретных обстоятельств, но обязательно учитывайте дополнительное время, которое вам придется потратить на поддержание существующей кодовой базы, по сравнению с расходы на его обновление. Не зная подробностей, я бы сказал, обновите его, а не боритесь с тем, что у вас есть.

 1
Author: Travis Northcutt, 2010-07-08 19:53:13

Я согласен с @D4V360, действительно приятно писать что-то заново. Кроме того, рассмотрите концепцию "Технического долга", о которой Джефф и Джоэл говорили в своих подкастах. Вот несколько соответствующих ссылок на эту тему:

  • Стив Макконнелл (автор замечательной книги "Code Compete") о техническом долге
  • Вышеупомянутый и наш собственный Джефф Этвуд о техническом долге
 0
Author: Alan, 2010-07-08 20:12:28

Я нахожусь в аналогичной ситуации. У моей компании есть свой устаревший веб-сайт, который делает все, что им нужно. Кроме того, у них есть веб-сайт, создаваемый сторонней компанией, чтобы заменить его, который выполняет 90 % того, что им нужно. Они ожидают, что 90 % превратятся в 110 %.

Я выбрал следующий курс действий:

  • Поддерживайте устаревший веб-сайт до тех пор, пока не будет доставлен новый сайт
  • Как можно быстрее интегрируйте дополнительные функции в новый сайт. возможно
  • Поддерживайте новый веб-сайт так, как если бы он не был заменен
  • Как только все будет готово и запущено, перестройте сайт и создайте план миграции
  • Перейдите на новый новый сайт и забудьте, что любой из этих старых сайтов когда-либо существовал

Как бы мне ни хотелось просто игнорировать два других сайта, это не вариант. Независимо от того, как я к этому отношусь, доставляемый сайт должен будет обслуживать нас в течение определенного количества месяцев, прежде чем я смогу даже попытайтесь заменить его. Оптимизация, поддержание и улучшение этого будет моим приоритетом. Этот сайт должен функционировать в течение всего срока его службы. Таким образом, создание нового нового сайта будет проектом в те времена, когда все работает, и в мое личное время, когда я хочу взломать что-то. Но это нормально, так как это отвечает ожиданиям каждого. Компания, которая ожидает, что этот новый сайт будет работать на определенном уровне, будет иметь свой сайт, работающий на этом уровне, и в то же время я буду активно совершенствуя его за кулисами. И в то же время я снова буду строить замену, которая уничтожит его.

В моей ситуации мой "новый сайт" (от сторонней компании) - это ваша устаревшая кодовая база, а мой "новый новый сайт" - это ваш "я должен просто перестроить его". Поэтому я думаю, что мой короткий ответ заключается в том, что, сохраняя устаревшую кодовую базу, чтобы мир продолжал вращаться, вы все равно можете перестроиться.

 0
Author: Bryson, 2010-07-16 06:56:11