Код очистки: Свежий старт против жесткой очистки - PullRequest
1 голос
/ 19 ноября 2010

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

a) Очистить код, реструктурировать его и попытаться удалить все неиспользуемые ресурсы b) начать с новой структуры (она использует codeigniter) и скопировать файлы, которыеМне нужно было запустить

Мне нравится вариант b, потому что он напоминает мне новый ноутбук от Best Buy.Я могу либо потратить время, удаляя все вредоносные программы, либо сделать уничтожение и создать систему с нуля, что я всегда делаю.Единственная проблема заключается в том, что на этот раз гораздо больше, чем просто создание новой системы.Вот плюсы и минусы:

PROS

  • Чистая система, которая очень проста в обслуживании
  • Не нужно ходить на поиски неиспользуемых файлов
  • Проще отслеживать, что я сделал

CONS

  • Многое может сломаться
  • Может пропустить необходимые файлы
  • Может занять больше времени

Что вы думаете?Можете ли вы дать мне некоторые свои плюсы и минусы, и что вы могли бы сделать в такой ситуации?

Обновление

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

Ответы [ 4 ]

2 голосов
/ 19 ноября 2010

Этот вопрос напоминает мне статью Джоэла, которую я прочитал некоторое время назад.

Единственная худшая стратегическая ошибка что может сделать любая софтверная компания: Они решили переписать код из царапина ... труднее читать код, чем написать это.

http://www.joelonsoftware.com/articles/fog0000000069.html

2 голосов
/ 19 ноября 2010

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

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

С другой стороны, если вы не планируете вносить много изменений или поддерживать код, возможно, это не стоит хлопот.Переведите его в работоспособное состояние и верните, так сказать, под коврик.

Мои 2 цента ...

2 голосов
/ 19 ноября 2010

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

Требуется небольшое суждение, чтобы определить, что оставить, но вы можете отчасти получить лучшее от обоих.

2 голосов
/ 19 ноября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...