Что нужно делать с кодом, который достиг конца жизни?

Когда проект достиг конца жизни и уходит в отставку, либо потому, что технология устарела, но новая версия программы была переписана, либо она больше не решает проблему, которая необходима для решения, что должно быть с кодом? Должен ли он быть удален или сохранен для использования в будущем?

Это также относится к проектам, которые кто-то может разработать как подрядчик, а компания, которая в них нуждается, выходит из бизнеса.

6 голосов | спросил Click Upvote 28 AMpThu, 28 Apr 2011 07:29:50 +040029Thursday 2011, 07:29:50

8 ответов


4

Сохраните его.

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

Источники репозиториев действительно дешевы держать где-то на углу официального сервера.

ответил 28 AMpThu, 28 Apr 2011 09:38:53 +040038Thursday 2011, 09:38:53
13

Если код попал в дикую природу, вы должны never удалить его. Пользователи очень хорошо отчаянно нуждаются в помощи через 5 минут после того, как вы уничтожаете свою способность поддерживать ее.

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

Я думаю, что мой ответ сводится к: ожидайте, что когда-нибудь понадобится код.

ответил LRE 28 AMpThu, 28 Apr 2011 07:38:26 +040038Thursday 2011, 07:38:26
9

В настоящее время пространство для хранения действительно дешево, поэтому лично я бы сохранил архивное резервное копирование на всякий случай.

ответил wildpeaks 28 AMpThu, 28 Apr 2011 07:38:05 +040038Thursday 2011, 07:38:05
3

Поместите его под лицензию FOSS.

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

ответил vpit3833 28 AMpThu, 28 Apr 2011 10:41:48 +040041Thursday 2011, 10:41:48
2

Я бы рекомендовал использовать систему управления версиями (git /mercurial /subversion) и удалить код, который больше не используется.

  1. Просто используйте систему управления версиями как резервную копию для «мертвого» кода. Тогда, если это не публичный API, продолжайте его удалять! Удаленный код всегда будет находиться в редакции, где вы можете пойти, когда это необходимо.

  2. Если это публичный API, тогда процесс немного длиннее и утомительно. Сначала вы должны отметить это как устаревшее, чтобы ваши пользователи API знали, что произойдет, а затем в будущих выпусках вы можете удалить реализации и оставить классы /интерфейсы /функции, определенные и отмеченные как устаревшие.

Используя VCS, распределенный или централизованный, вы получите доступ к удаленному /устаревшему коду, поэтому вам нечего бояться.

ответил Edgar Gonzalez 28 AMpThu, 28 Apr 2011 08:46:15 +040046Thursday 2011, 08:46:15
2

Хранение дешево, так что вы на самом деле получаете, удалив код?

Что вы получаете, сохраняя код в архиве, где вы можете получить к нему доступ, но это никоим образом не может закончиться?

Что мы все подозреваем, произойдет через 5 минут после удаления последней копии (включая резервные копии) этого кода?

Ответы на эти вопросы скажут вам, сохранить или нет.

И, конечно же, открытый источник - это всегда вариант, который может дать ему новую жизнь так, как вы никогда не ожидали.

ответил Tango 28 AMpThu, 28 Apr 2011 08:54:08 +040054Thursday 2011, 08:54:08
2

Сохраните код, но удалите его из проектов, процесса сборки и VCS. Это будет в VCS, когда вам это нужно. Но когда вы не видите его прямо, он облегчает понимание текущего проекта.

ответил refro 28 AMpThu, 28 Apr 2011 10:01:45 +040001Thursday 2011, 10:01:45
1

Удалите его.

Просто потому, что мы можем хранить что-то не значит, что мы должны.

  • «технология устарела». Удали это. Устаревшее устарело. Это никогда не станет волшебным снова полезным, кроме как сюжетное устройство в телешоу.

  • «новая версия программы была переписана». Удали это. После 90 дней использования нового программного обеспечения будет достаточно новых данных, которые не могут быть отправлены обратно в старую версию, которую вы можете безопасно удалить. Это бесполезно.

  • «он больше не решает проблему, которая необходима для решения». Вы можете сохранить его на всякий случай, если проблема возникнет. Шансы одной и той же проблемы (в том же контексте, которые могут быть решены одной и той же проблемой) почти равны нулю.

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

Удалите его. Пожалуйста.

  • ", которые кто-то может разработать как подрядчик". Клиент владеет кодом. Удалите свою копию как можно скорее. Когда вы вносите изменения в свою копию, ваша копия бесполезна и запутанна.

  • ", и компания, которая в них нуждается, выходит из бизнеса". Это проблема для юристов, управляющих активами несуществующей компании. Это не твоя проблема. Дублированная копия кода никому не помогает. Удалите свою копию после получения окончательного платежа, если вы все еще должны иметь деньги.

ответил S.Lott 28 PMpThu, 28 Apr 2011 14:05:27 +040005Thursday 2011, 14:05:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132