Погружение в рефакторинг

Александр Шитик
Александр Шитик

Пишу свои посты и книги, делаю обзоры на фильмы и книги. Эксперт в области космологии и астрономии, IT, продуктивности и планирования.

Погружение в рефакторинг
Александр Швец
Жанры: Программирование
Год издания: 2017
Год прочтения: 2025
Моя оценка: Нормальная
Количество прочтений: 1
Количество страниц: 353
Конспект (страниц): 0
Первоначальный язык издания: Русский
Переводы на другие языки: Переводы на другие языки не найдены

Общее описание

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

Краткий обзор

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

Вторая часть посвящена чуть более практическим способам решать проблемы, описанные в первой части. Например, какие подходы стоит применять, когда классы или методы большие, как их дробить, как выносить код и заменять все старые вхождения кода на новый. Здесь, кстати, тоже все практики сгруппированы в разные группы, которых насобиралось немалое количество.

Мнение

На момент чтения книги я уже более 10 лет занимаюсь профессионально программированием, не считая ещё кучи лет в колледже и универе, так что, честно говоря, я не сильно помню, чтобы попадались советы, которые для меня были бы новыми. Именно поэтому я не делал конспект для этой книги. Тем не менее начинающим программистам было бы полезно ознакомиться с книгой, к тому же читается она очень быстро.

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

Вверх