Итак, я перечитывал этот вопрос. Нужно ли удалять код без ссылок?
Некоторые из советов заключались в том, чтобы удалить код, на который нет ссылок, поскольку этот код находится в исходном коде для справки на случай, если он понадобится позже.
Как вы организуете этот удаленный код так, чтобы более поздняя версия вас (или другого программиста) могла найти его позже? Вы делаете отдельную ветку или помечаете ее как-то в системе контроля версий?
Раньше я никогда не воскрешал удаленный код из системы контроля версий, я просто использовал его для отслеживания изменений в коде, который все еще работает. Я ссылался на ветки раньше, когда в них содержалась чья-то экспериментальная работа, так что, может быть, это хороший способ пометить интересные разделы кода, которые удаляются в стволе?
источник
Ответы:
Если вы не экспериментируете в ветке и еще не уверены, какое решение в конечном итоге будет реинтегрировано, вы обычно не ссылаетесь на удаленный код.
В очень редких случаях вы можете явно искать удаленный код, который вы смутно помните, решая проблему, которая у вас есть прямо сейчас . Но более типичная причина, по которой вы видите удаленный код, - это когда вы просматриваете отставание, чтобы понять что-то о текущем коде или поведении приложения относительно его исторического кода или поведения.
В частности, вы могли бы быть ...
... так далее.
И в этих случаях вы обычно не воскрешаете старый код. Вы просто понимаете то, что видите сейчас, используя удаленный код для контекста или руководства.
источник
Я думаю, ответ таков: подавляющему большинству программистов не важно ссылаться на удаленный код. По нескольким причинам. Некоторые причины, которые приходят мне в голову:
Наверное, самое главное, чистая лень ...
Большинство никогда не чувствовало необходимости воскрешать некоторый код, поэтому у них нет опыта, который мотивировал бы их на то, чтобы упростить воскрешение кода.
Большая часть кода, который был удален, удаляется по причине. Обычно он заменяется другим, лучшим, функционально эквивалентным или более мощным кодом. Зачем кому-то хотеть воскресить нижний код?
Обратите внимание, что это также психологическая проблема: большинство программистов весьма гордятся результатами своей работы. Как это могло прийти в голову, что в том, что они заменили, была еще какая-то ценность?
Поскольку большая часть кода не просто удаляется, а заменяется, интерфейсы, которые были изменены при переходе, предоставляют достаточно информации, если вам действительно необходимо отследить удаленный код из-за некоторых регрессий, введенных новым кодом.
Но, независимо от того, сколько более или менее веских причин вы можете объяснить этим пренебрежением мертвым кодом, я думаю, что на самом деле программисты просто не заботятся об этом. И даже если вы попытаетесь пометить удаленный материал тем или иным способом, будьте готовы к тому, что вас полностью проигнорируют ...
источник
Этот вопрос, вероятно, возвращается к вопросу: «Как вы сохраняете отслеживаемость ваших проверок VCS в отношении базы данных ошибок и ваших системных требований?»
Времена, когда люди возвращаются к коду из управления исходным кодом, обычно бывают такими, когда вы обнаруживаете, что что-то непреднамеренно сломано и его необходимо вернуть.
Самым важным в этом сценарии для тех, кто ищет определенный фрагмент удаленного кода, является то, что он может легко отследить его, просматривая базу данных требований и инструмент отслеживания ошибок; потому что они могут искать конкретные требования или слова, которые описывают функциональность. Они вряд ли знают имя исходного файла или класс / функцию, которые были удалены.
Если вы хотите отследить какой-нибудь интересный / экспериментальный код, который необходимо удалить перед выпуском, вы можете просто отследить его с помощью некоторых «баговых» заявок в духе «Удалить неиспользуемый код для ...» . Или, может быть, ввести новый тип билета в систему для функции прототипа .
Поэтому, чтобы прямо ответить на вопрос - не используйте ветки / теги в вашей системе VCS для отслеживания удаленного кода - используйте инструмент отслеживания изменений.
источник
Совет предназначен для людей, которые хранят устаревший код в базе кода «на всякий случай». Поскольку код по-прежнему будет существовать в системе контроля версий, не стоит бояться его удалить. Вы действительно не организовываете удаленный код как таковой, поскольку весь смысл в том, что он больше не нужен. Вы просто добавляете сообщение о коммите, которое указывает, что было изменено и удалено в коммите. Наиболее релевантным сообщением фиксации для удаленного кода является сообщение во время первоначального добавления кода, а не сообщение, когда он был удален снова.
«Экспериментальная работа» - это действительно другая проблема. У вас должна быть отдельная ветка для этого.
источник