Понимаете вы это или нет, но если вы такой же, как и остальные разработчики, то вы всегда делаете рефакторинг кода. Каждый раз, когда вы изменяете свой код для Того, чтобы избежать дублирования, или переименовываете что-то для повышения ясности, вы фактически производите рефакторинг. Рефакторинг— это просто название обычной задачи разработчика. Строгое определение данного термина таково: это "изменение, которое делается во внутренней структуре программного обеспечения для того, чтобы облегчить его понимание и сделать более простой его модификацию (без изменения его видимого поведения)". То есть рефакторинг не добавляет приложению новых функциональных возможностей. Вместо этого он упрощает сопровождение ваших кодов.
Термин "рефакторинг" привлекает к себе большое внимание. Написано много хороших кни*г о преимуществах рефакторинга кода в процессе создания вашего приложения. Это как раз тот этап, когда вы особенно тесно взаимодействуете с кодом и поэтому можете быстро делать такие благотворные для его последующего сопровождения изменения. Многие из этих книг посвящены теме экстремального программирования. Рефакторинг стал одним из ключевых принципов экстремального программирования. В экстремальном программировании ваш код разрастается функция за функцией (для того чтобы пройти серию определенных тестов). Это может привести к созданию кода, который замечательно работает, но не выглядит созданным как единое целое. Для того чтобы справиться с этой проблемой, будет очень разумно почаще возвращаться к вашему коду и улучшать его общее качество (удалять дублирования, создавать общие интерфейсы, перейменовывать идентификаторы, логически группировать элементы и т. д.).
Для того чтобы помочь вам с рефакторингом, в редакторах кода появилась новая группа функциональных возможностей. Эти функции основаны на реальных потребностях. Никакой разработчик не захочет насажать ошибок в стабильно работающий код только для того, чтобы облегчить его сопровождение — и особенно в условиях недостатка времени. Попробуйте представить себе, как вы объясните вашему начальнику или клиенту, что значительное увеличение ошибок в коде является следствием масштабных изменений, которые вы внесли в код для того, чтобы облегчить его читабельность и сопровождение в будущем. Нам следует быть благодарными за то, что редактор C# в Visual Studio 2008 предоставляет целый набор надежных инструментов для рефакторинга. Эти инструменты позволяют вам выполнять изменения в коде без опасения создать больше проблем, чем вы стараетесь решить.