Рефакторинг: улучшение существующего кода (файл PDF)

Рефакторинг: улучшение существующего кода (файл PDF)

Мартин Фаулер Кент Бек Джон Брант Дон Робертс Уильям Апдайк

     4

электронная книга Лучший выбор


Издательство: Символ-Плюс
Дата выхода: сентябрь 2007
Размер файла: 2323 Кб

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

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

Пер. с англ. Маккавеева С.; предисл. Гаммы Э. Мнения читателей
Курт Франк (Kurt Frank), Уилмингтон, штат Северная Каролина, США
Название этой книги говорит само за себя. Здесь отсутствуют крикливая реклама, понятная лишь посвященным теория, магические кристаллы или "серебряная пуля". Излагаемые в книге методы понятны, кратки и имеют непосредственную практическую ценность, будь вы новичком или гуру. Я не могу даже вспомнить другой книги, о которой можно было бы сказать то же самое. Купите эту книгу, и вы повысите уровень своего кода.
P.S. Твердая обложка и ленточка-закладка служат приятным и изящным штрихом, характерным для классической книги.

Читатель "jschnyde" из Сарраса, кантон Вауд, Швейцария
Это одна из лучших прочитанных мной книг по программированию на Java, и я собираюсь прочесть ее еще раз! Она решительно меняет ваш стиль программирования, приводя примеры правильных и неправильных действий и обосновывая это. Рефакторинг, применяемый в соединении с JUnit (средой тестирования для Java), это лучшее, что мы, ОО-разработчики, могли получить после паттернов проектирования (Design Patterns)! Рекомендую эту книгу любым опытным или начинающим ОО-программистам. Что еще хорошо, ее приятно читать!

Марк Николс (Mark Nichols) из Чарльстона, штат Южная Каролина, США
За последние годы я купил десятки технических книг. Лучшие из них становились справочниками, худшие превращались в красочное украшение книжных полок. "Рефакторинг" представляет собой шедевр. Я прочел ее от корки до корки. Причем даже одного раза мне было достаточно, чтобы увидеть свой собственный код и код, который приходится поддерживать, в совершенно новом свете. Те тонкости, которых я раньше не замечал, бросаются в глаза с экрана. IMHO, эта книга лучше, чем "Design Patterns" ("Паттерны проектирования"), ведь бoльшую часть своей карьеры я работал с уже существующим кодом. Паттерны и приемы, которые Фаулер и др. здесь каталогизировали, просто бесценны. Браво!

Некий читатель из Хантингтон Бич, штат Калифорния, США
ПРОЧТИТЕ ЭТУ КНИГУ!!! Благодаря ей вы станете лучше как программист, по крайней мере, на Java, Smalltalk, C++, а возможно и на ЛЮБОМ языке. Читать эту книгу, содержащую свежие мысли лидеров ОО о десятках способов улучшения имеющегося кода, - удовольствие.

Читатель "aricart" из Коттедж Гроув, штат Миннесота, США
По многим причинам это фантастическая книга. Она ненавязчиво учит, что собой представляет и как выглядит в реализации хороший стиль ООП, - эта причина в моем списке первая. Подобные попытки предпринимаются во многих книгах, но только, на мой вкус, вполне успешной оказалась именно эта. Здесь показано, как обнаружить код "с душком", требующий внимания. Еще интереснее наблюдать, как посредственная или даже плохая программа может быть превращена в элегантный образец проектирования, который проще читать и понимать.

Майкл Гейзлер (Michael Geisler), Австралия
В сфере информационных технологий я работаю свыше 10 лет. Это первая книга, к которой я обращаюсь почти ежедневно. Значительная часть ее содержимого понятна мне интуитивно или известна благодаря накопленному опыту, однако автор превосходно суммирует назначение этой книги в предисловии. \'Когда я хочу сделать что-либо,… каталог подсказывает мне подходящий безопасный, пошаговый способ\'. Эта книга должна быть на рабочем столе каждого программиста.