•  3

Рефакторинг. Улучшение существующего кода

Рефакторинг. Улучшение существующего кода
  • Оригинальное название: Refactoring: Improving the Design of Existing Code
  • Автор: Мартин Фаулер
  • Издательство: Символ-Плюс
  • Год: 2003
  • Язык: Русский
  • Страниц: 432
  • Формат: pdf
  • Размер: 18 Мб

Описание книги Рефакторинг. Улучшение существующего кода:
Простые конструкции в коде, небольшие методы, лаконичные классы. Об этих достоинствах знает каждый. И почти каждый рано или поздно к этому приходит сам. В книге собраны готовые рецепты. О многих вы скажете "да я и сам это знаю безо всяких книг", но такой удобной подборки методов избавления от кода "с душком" вы найти не сможете. Как не наступить на грабли, как разобрать свалку, доставшуюся вам от ваших предшественников и как писать быстро, не думая о стилистике, а потом всё так же быстро привести в удобоваримый вид, - всё это тут.

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

Мартин Фаулер с соавторами пролили свет на процесс рефакторинга, описав принципы и лучшие приемы его осуществления, а также указав, где и когда следует начинать углубленное изучение кода с целью его улучшения. Основу книги составляет подробный перечень более 70 методов рефакторинга, для каждого из которых описываются мотивация и техника испытанного на практике преобразования кода с примерами на Java. Рассмотренные в книге методы позволяют поэтапно модифицировать код, внося каждый раз небольшие изменения, благодаря чему снижается риск, связанный с развитием проекта.