Подтвердить что ты не робот

Что вы делаете с неиспользуемым кодом в ваших устаревших приложениях?

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

4b9b3361

Ответ 1

  • Отметьте его устаревшим. http://msdn.microsoft.com/en-us/library/aa664623%28VS.71%29.aspx
  • Следующий цикл, прокомментируйте код и сделайте соответствующие замечания. Установите область вокруг блока кода так, чтобы она сжималась хорошо и не съедала много визуального пространства.
  • Следующий цикл, удалите код.

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

Ответ 2

  • Отметьте старый проект в Source Control.
  • Удалить неиспользуемый код.
  • Profit!!

Ответ 3

Я всегда удаляю неиспользуемый код. Это одно из преимуществ контроля источника.

Ответ 4

Примите несколько советов от Майкла Джексона:

Просто удалите его... удалите его... удалите его... удалите его...

Никто не хочет победить

Покажите, насколько напуганный и сильный ваш бой.

Не важно, кто не прав или прав.

Просто удалите его... удалите его... просто удалите его... удалите его...

Ответ 5

Я считаю, что удаление - хороший способ сохранить код чище.

Если вы не удаляете, например: комментируете или создаете объекты obselete для их хранения, я видел некоторые беспорядки вроде этого.

и поэтому у вас есть репозитории, ветки, теги и т.д.

Мне лучше удалить его. если код уже находится в репозитории.

Ответ 6

Обычно я отмечаю, что устарел:

    /// <summary>
    /// Purpose of this method
    /// </summary>
    /// <param name="args">Argument 1</param>
    [Obsolete("This method is obsolete, use NewMethod instead")]
    public void SampleMethod(string args)
    {
        //code
    }

    /// <summary>
    /// Purpose of this method
    /// </summary>
    /// <param name="args">Argument 1</param>
    public void NewMethod(string args)
    {
        //code
    }

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

Ответ 7

Если у меня есть код, который я больше не использую, я продаю его на Craigslist.

Ответ 8

Лучший способ отметить неиспользуемый устаревший код - удалить его. Это не имеет ничего общего, кроме как путать новых разработчиков с командой.

В моей старой команде мы фактически превратили это в соревнование, которое мы назвали соревнованием Grim Repear. Кто мог найти и удалить наибольшее количество неиспользуемого/мертвого кода в базе кода. Отрицательные очки были отмечены за удаление мертвого кода и положительные баллы за добавление мертвого кода. Побеждает самый низкий результат.

Ответ 9

Хорошее место для применения урока из книги Pragmatic Programmer.

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

Ответ 10

Я предпочитаю его удалять. Контроль источника будет содержать историю того, что было (и кто его удалил). Я ненавижу код поиска и вижу результаты в коде с комментариями, особенно когда код комментируется с помощью /*...*/, который вы не видите в результатах поиска, а не \\, что, по крайней мере, дает мне возможность увидеть, что результат закомментирован.

Ответ 11

Определенно удалить неиспользуемый код. По моему опыту, самые большие проблемы с устаревшими кодовыми базами - понимание того, что происходит с кодом - меньше кода означает меньше понимания, облегчая вашу работу.

Как вы говорите, вы всегда можете вернуть его, если используете источник управления (вы используете источник управления, верно?), и если вы ничего не делаете немного странно (например, динамически компилируете код или загружаете код через отражение), вы вероятно, будут выясняться довольно быстро, если вы удалите неправильный код, поскольку ваша сборка завершится с ошибкой.

Ответ 12

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

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

Ответ 13

Что делать, если код для некоторых функций, которые не нужны, но могут понадобиться в будущем, разбросаны по всей программе? Использование #ifdef для управления таким кодом (сохранение в одном файле главного списка всех меток #define, используемых для этой цели) может позволить включить или отключить функцию по желанию; попытка перекомпоновки всех маленьких битов кода из системы управления версиями будет казаться более сложной.

Ответ 14

Я думаю, что лучший способ - управлять версиями вашего проекта, например SVN, CVS. Затем удалите неиспользуемый код. Чтобы уменьшить размер исходного файла и избежать беспорядочного использования неиспользуемого кода.

Ответ 15

Удалить неиспользуемый код в устаревшем приложении.

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

Ответ 16

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

Ответ 17

Я считаю, что на конференции Refuctoring был дан ответ - http://www.waterfall2006.com при обсуждении модуля "Дождливый день" - вы должны написать запасные код на случай, если кому-то это понадобится позже...

class SpareCode {
  private int spareInteger;
  private String luckyString;
  private bool youNeverKnow ;
public void spareLogic() {
  spareInteger = 1;
  if ( youNeverKnow ) {
    spareInteger++;
  }
  System.out.println( luckyString);
}

Ответ 18

Я прокомментирую это так же, как я прокомментирую свой System.out.println перед тем, как начать жить.