Обсуждение перед сном на лучший совет отладки - PullRequest
1 голос
/ 23 января 2010

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

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

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

Если вы хотите дать несколько советов по отладке на основе вашего опыта, сделайте это.

1 Ответ

2 голосов
/ 23 января 2010

По моему опыту, поддержка вашего конечного пользователя имеет фундаментальное значение.

У меня был похожий опыт несколько лет назад, когда я получил приложение Clipper Summer '87 для поддержки и обеспечения совместимости с Y2K. Началось как кошмар: я начал исправлять некоторые ошибки в одном месте, а другой кусок перестал работать. Потратив некоторое время, я запланировал встречу с некоторыми ключевыми пользователями и предложил переписать это приложение.

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

Был специальный отчет, который обрабатывался в течение 45 минут и стоил всего 5 секунд в новой версии. Таким образом, пользователи увидели, что было бы неплохо потратить больше времени и денег, выбрасывая старый код и создавая новую версию.

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

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