Вы здесь: Home > Правила XP > Безжалостно Рефакторить!
Что здесь происходит
Правила XP
   Соглашение о кодировании
   Коллективное владение кодом
   Конституция разработки ПО
   CRC Сессия
   Заказчик
   Выбирайте самое простое решение
   Функциональные тесты
   Частая интеграция
   Планирование Итерации
   Итерации
   Меняйтесь задачами
   Оставляйте оптимизацию на потом
   Парное программирование
   Безжалостно Рефакторить!
   План Релиза
   Частые Релизы
   Пробное решение
   Собрание стоя
   Метафора Системы
   Unit Test-ы
   User Story
   Скорость проекта
   Когда обнаружена ошибка
   Вам это не понадобится
Статьи по XP
Книги по XP
Ссылки по XP
Обсудить
Написать нам

Безжалостно Рефакторить!

Мы, программисты, склонны держаться за дизайн долго после того как он становится неуклюжим. Мы продолжаем повторно использовать неудобный в сопровождении код поскольку он все еще как-то работает и мы боимся испортить его. Но действительно ли это выгодно? XP принимает точку зрения что это невыгодно. Когда мы убираем избыточность, улучшаем устаревший дизайн убираем неиспользуемые куски - мы делаем рефакторинг. Рефакторинг в конечном итоге экономит время и улучшает качество продукта.

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

Наш опыт.

Медленно и со скрипом начинаем рефакторить нашу систему. Дело осложняет огромное количество старого кода который в большинстве не имеет никаких UnitTest-ов.

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

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