Безжалостно Рефакторить!Мы, программисты, склонны держаться за дизайн долго после того как он становится неуклюжим. Мы продолжаем повторно использовать неудобный в сопровождении код поскольку он все еще как-то работает и мы боимся испортить его. Но действительно ли это выгодно? XP принимает точку зрения что это невыгодно. Когда мы убираем избыточность, улучшаем устаревший дизайн убираем неиспользуемые куски - мы делаем рефакторинг. Рефакторинг в конечном итоге экономит время и улучшает качество продукта. Безжалостно пересматривайте любой код для того, чтобы сохранять дизайн простым по мере разработки. Сохраняйте код ясным и понятным чтобы его было легко понять, модифицировать и расширять. Удостоверьтесь что все написано один и только один раз. В конечном итоге, это занимает меньше времени чем доводить до ума запутанную систему. Наш опыт.Медленно и со скрипом начинаем рефакторить нашу систему. Дело осложняет огромное количество старого кода который в большинстве не имеет никаких UnitTest-ов. Часто разработчики не понимают что рефакторить - не значит переписывать заново. В результате, вместо маленьких понятных изменений, сохраняющих работоспособность системы в любой момент, разработчик переписывает код заново, а потом проводит полдня в отладчике, а потом исправляет все ошибки, которые уже были исправлены в старом некрасивом коде. Уже сейчас видно, что когда мы отрефакторим всю нашу систему, мы выбросим от 30% до 50% всего кода, сохранив ту же самую функциональность. При это система будет ясной, понятной и надежной. |