Поддержание кода, близкого к программному гниению - PullRequest
2 голосов
/ 24 мая 2009

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

Но это тот же самый код, который Джоэл Спольски в JoelOnSoftware оценивает таким образом, что он содержит ценные исправления, которые были отлажены в течение всей его жизни (которые могут выглядеть неструктурированными и безобразными).

Как бы вы поддерживали это?

Ответы [ 4 ]

6 голосов
/ 24 мая 2009

Взгляните на Эффективная работа с устаревшим кодом от Michael Feathers. Там много полезных советов.

2 голосов
/ 24 мая 2009

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

  1. Вы должны понимать свою систему. Сделайте одноразовое кодирование, чтобы понять ту часть, над которой вам нужно поработать. Например. будьте готовы попытаться выполнить некоторую работу, чтобы протестировать систему, исходя из того, что вы, вероятно, сломаете ее. (понять, что пошло не так)
  2. Ищите области, где вы можете нарушить зависимости. Майкл Фезерс называет эти швы. Это точки, в которых вы можете взять устаревшую систему и провести ее рефакторинг, чтобы ее можно было проверить.
  3. По мере работы в системе добавляйте тесты по ходу работы.
1 голос
/ 24 мая 2009

Вы можете сделать несколько вещей:

  • Рефакторинг кода, чтобы сделать его более понятным. Если код используется также для разработки функций, то рефакторинг будет иметь смысл.
  • Если код является устаревшим кодом и используется только для исправления ошибок, я бы посоветовал вам исправлять только столько, сколько требуется и когда требуется.
  • Часто первое впечатление, которое люди получают от такого унаследованного кода, заключается в том, что он грязный. Дайте ему немного времени и освоитесь с ним. Вы можете увидеть некоторые веские причины того, почему код выглядит так с течением времени ...
0 голосов
/ 24 мая 2009

Во-первых, убедитесь, что у вас есть надежная процедура тестирования, и что она действительно будет снова тщательно проверена несколькими людьми (вами, QA, ...).

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

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