Книга Джошуа Кериевски «Рефакторинг с использованием шаблонов»

Книга Джошуа Кериевски Рефакторинг с использованием шаблонов refactoringДочитал на днях сабжевую книжку. Вышла она еще в 2008 году, но мне она попалась только недавно. По идее, читать ее надо было бы после книги Фаулера «Рефакторинг. Улучшение существующего кода», на которую Кириевски постоянно ссылается, но до Фаулера я пока не добрался, хотя это и не особо затруднило чтение. Вторая книга, которую лучше всего прочитать заранее, это «Приемы объектно-ориентированного проектирования. Паттерны проектирования» банды четырех.

Суть книги «Рефакторинг с использованием шаблонов» состоит в том, что в книге автор собрал 27 довольно сложных рефакторингов, большинство которых предназначены для того, чтобы как можно более безболезненно ввести в архитектуру программы паттерны, описываемые в книге банды четырех. Как пишет в начале Кириевски, часто он начинает программировать без использования паттернов до тех пор пока этот участок кода не надо расширять, тогда он принимается за рефакторинг. Правда, в книге есть еще один рефакторинг, который наоборот избавляет код от использования синглтонов (автор называет болезнь, когда используют синглтоны по любому поводу, синглтонизмом и предлагает открыть общество анонимных синглтоников).

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

По ходу чтения часто замечал, что в книге мне интересны даже не сами рефакторинги, а интересно просто почитать про то, как строят архитектуру программ другие программисты – практически все примеры рефакторингов показываются на коде из реальных проектов. Заодно полезно почитать и про ошибки в проектировании.

При описании рефакторингов Кериевски сначала использует UML-диаграммы, чтобы показать что было и что стало, потом пишет где этот рефакторинг может понадобиться, что он может улучшить, а что ухудшить. После этого описывает основные шаги рефакторинга и показывает эти самые шаги на примере переделки реального кода.

Все примеры, как и у Фаулера, приводятся на языке Java, но он не использует какие-то особенности языка, поэтому язык абсолютно не важен.

Не сказал бы, что книга читается легко, правда, ближе к середине книги у меня чтение заметно ускорилось, уж не знаю с чем это связано. Книга очень странно переведена, причем я даже не знаю со знаком «плюс» или «минус». Дело в том, что многие выражения остались без перевода, в том числе названия рефакторингов. С одной стороны, хорошо, что не надо по переводу ломать себе голову, чтобы догадаться какой именно термин имел в виду автор, а с другой уж названия рефакторингов можно было бы и перевести. Получается, что читаешь такой англо-русский текст. Где-то попадались места, когда термин приводился и по-русски, и по-английски, почему так нельзя было сделать во всей книге не понятно.

В целом, книга любопытная, почитать можно. Судя по всему ее надо рассматривать как продолжение книги Фаулера, но тут я могу ошибаться, потому что, как я уже говорил, в полной мере книгу Фаулера еще не читал (она у меня следующая на очереди).

Кстати, может быть посоветуете еще хорошие книжки по проектированию? И заодно, может быть кто-то уже читал книгу Эффективная работа с унаследованным кодом, стоит за нее браться?

Похожие записи

Пожалуйста, оцените запись

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ...

Комментарии (6)

  1. Kirill:

    Откуда скачивали эту книгу?

  2. Jenyay:

    Ниоткуда, читал в бумажном виде. Пока не появились читалки с большими экранами, техническую литературу предпочитаю читать с бумаги.

  3. Kirill:

    Ясно, спасибо.

  4. Sergey:

    Не встречал еще такую книжечку! Нужно поискать, вроде бы должно быть интересно!

  5. Olga:

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

  6. cler:

    Дамс такую книгу нужно прочесть

Оставить комментарий

Subscribe without commenting

220 Вольт предлагает купить перфораторы в продаже цены ниже не найти Продажа, микшеры звуковое оборудование в москве. дефлектор капота, ложки.