Аннотация к книге "Рефакторинг с использованием шаблонов"
Книга "Рефакторинг с использованием шаблонов" представляет результаты многолетнего опыта профессионального программиста по применению шаблонов проектирования (паттернов). Авторский подход к проектированию состоит в том, что следует избегать как недостаточного, так и избыточного проектирования, постоянно анализируя готовый работоспособный код и реорганизуя его только в том случае, когда это приведет к повышению его эффективности, упрощению его понимания и сопровождения. Шаблоны проектирования —...
Книга "Рефакторинг с использованием шаблонов" представляет результаты многолетнего опыта профессионального программиста по применению шаблонов проектирования (паттернов). Авторский подход к проектированию состоит в том, что следует избегать как недостаточного, так и избыточного проектирования, постоянно анализируя готовый работоспособный код и реорганизуя его только в том случае, когда это приведет к повышению его эффективности, упрощению его понимания и сопровождения. Шаблоны проектирования — не панацея, так что бывают как ситуации, когда такая реорганизация должна выполняться с использованием шаблонов проектирования, так и ситуации, когда наилучшее решение состоит в отказе от них. Автор на основании как собственного, так и чужого опыта детально рассматривает различные признаки кода, требующего рефакторинга, описывает, какой именно рефакторинг наилучшим образом подходит для той или иной ситуации, и описывает его механику, подробно разбирая ее на конкретных примерах из реальных задач. Книга "Рефакторинг с использованием шаблонов" может рассматриваться и как учебник по рефакторингу для программиста среднего уровня, и как справочное пособие для профессионала, которое может подсказать, какое именно решение стоит принять в той или иной сложной ситуации.
Если классический труд по шаблонам проектирования [GoF] дает лишь структурированный каталог с описанием 'как это должно выглядеть', а книга Refactoring Фаулера лишь приоткрывает завесу использования шаблонов в режиме эволюционного проектирования (оставляя за собой основным предметом систематизацию низкоуровневых реорганизаций кода), то данная работа Кириевски как нельзя кстати заполняет пробелы между рефакторингом и шаблонами проектирования как таковыми, наконец то проливая свет на:
- как и когда нужно использовать шаблоны (то есть в чем сама мотивация применения каждого отдельно взятого шаблона как и при предварительном проектировании, так и в процессе эволюционирования требований и увеличения объема кода)
- когда необходимо отказаться от применения шаблона в конкретном случае
- когда разумно заменить применяемый шаблон другим более простым/сложным шаблоном (если это возможно)
- как не используя на текущий момент шаблоны поддерживать код в состоянии, адекватном для их возможного последующего внедрения (в том числе и по конкретным направлениям)
Помимо перечисленного стоит отметить, что каталог рефакторингов в книге в известной степени носит формальный характер (еще столько же можно было бы написать, задавшись целью до конца осветить хотя бы те же шаблоны из Gof и Patterns of Enterprise Application Architecture). Суть верное русло рассуждений как ключ к пониманию направления движения в данной области в целом.
Также в книге есть наметки (под текстом) на то, когда следует прибегать к простому использованию шаблона, а когда есть смысл поискать его обобщенную реализацию.
И последнее (но не по значимости) - если вы не читали перечисленную выше литературу, то данное чтение не возымеет должного толка.
По сути, сборник примеров проведения рефакторинга. Сложных и не очень.
Читать было интересно, хотя местами изложение становится довольно запутанным.
Считаю, главное, что требуется от программиста при использовании шаблонов и(или) принятии решения о применении того или иного рефакторинга - это чувство меры. Данная книга помогает его развить.
Оставить комментарий