Фаулер М., Рефакторинг: улучшение существующего кода
Символ-Плюс, 2018 г., 5-93286-045-6,978-5-93286-045-8 , 240*168*27 мм., тираж: 3000
Описание книги
Ключевые слова
Поделиться ссылкой на книгу
Об авторе
Автор ряда книг и статей об архитектуре ПО, объектно-ориентированному анализу и разработке, языку UML, рефакторингу, экстремальному программированию. Родился в Англии, жил в Лондоне до переезда в Америку в 1994 г. В настоящее время живёт в Бостоне, штат Массачусетс.
Отзывы
В книге есть три важные практические вещи: каталог признаков "кода с душком", каталог рефакторингов (130 методов), и описание принципа работы системы модульного тестирования JUnit. Для понимания работы JUnit требуется знание паттерна Command (команда) из каталога книги "банды 4". Уже после Фаулера другие авторы стали описывать подобные каталоги. А про модульное тестирование вышла даже объемнейшая книга Месароша.
Выводы: профессиональный программист должен эту книгу прочитать обязательно. И потом с учетом своего опыта обязательно применять на практике.
По признанию самого Фаулера описанные рефакторинги применимы только к однопроцессному случаю, тем самым книга не очень полезна разработчикам корпоративных распределенных приложений.
Однако основным недостатком описанного подхода считаю то, что в книге пропагандируется преобразование кода по внешним его характеристикам. Например, если есть два метода с одинаковым названием, попытайтесь вынести их в общий класс. Не всегда это оправданно. Не всегда это допустимо. Авторы почему-то полностью игнорируют моделирование иерархий, вынося общие интерфейсы у объектов, чисто потому, что они внешне похожи. А это глюк.
И наконец, опять же не нравится, что все примеры приводятся на Java, где все функции виртуальные, потому рефакторинг "виртуализация невиртуальной функции" полностью проигнорирован.
Резюмируя, книга полезна, как руководство по автоматизированному улучшению читабельности и понятности кода, но вредна как ложная панацея от плохого дизайна. Не вникая в предметную область, добиться хорошего дизайна невозможно никакими рефакторингами.
Имеется достаточно много лирических отступлений на тему техники выполнения и инструментария и рефакторинга, что на данный момент представляет мало практический ценности ввиду встроенных в ИДЕ механизмов. Посему сокрушения автора по поводу редкого использования рефакторинга в практике я бы отнес к категории устаревших.
Как достоинством, так и недостатком станет беспрецендентная подробость изложения материала. Т. е. шансов не понять нет никаких. Лично меня это поначалу восхитило, но достаточно быстро стало утомлять.
В общем и целом - подробный хороший труд, который по большому счету можно было бы и подчистить в угоду времени, удалив разбор инструментальных проблем, которые давно успешно решены.
Последние поступления в рубрике "Операционные системы: общие вопросы, администрирование, программирование"
Введение в тестирование программного обеспечения. Руководство Тамре Л.
Тестирование играет жизненно важную роль в разработке качественного программного обеспечения. Тем не менее, во многих компаниях, занимающихся разработкой ПО, процессы тестирования недостаточно организованны, и исполнители вынуждены идти трудным путем,...... | |
Наука о данных. Учебный курс Скиена С.С.
Для того чтобы понять мир, необходимо собрать и проанализировать данные о нем. Объединение последних технологических тенденций предоставляет новые возможности для применения анализа данных к более сложным задачам, чем когда-либо прежде. Емкость...... | |
Паттерны Kubernetes. Шаблоны разработки собственных облачных приложений Хасс Р., Ибрам Б.
С развитием микросервисов и контейнеров изменились подходы к проектированию, созданию и запуску программного обеспечения. Познакомьтесь с новыми паттернами и принципами разработки, которые нужны для реализации облачных приложений в Kubernetes. Эта...... |
Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Фаулер М., Рефакторинг: улучшение существующего кода в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.