В этой книге, несмотря на использование языка JavaScript, примеры кода легко поймёт разработчик, использующий Python, Kotlin, Java и другие C-подобные языки программирования. Если в примере используются конструкции, характерные только для JS, то их немного. 🧐 Упор делается непосредственно на структурирование, анализ кода и наименование функций.
Автор затрагивает тему оптимизации, но в любом случае придерживается принципа - ваш код должен быть читаемым и понятным, а остальное наладится :) 👍
Первая глава, как конфетка 🍬, демонстрирует все преимущества рефакторинга и разжигает желание читать дальше. В ней приводится пример неплохого кода, с адекватными наименованиями функций, переменных, и демонстрируется повышение его читаемости за счет шаблонов рефакторинга, которые автор применяет в своей практике.
Если сравнить код в начале книги и в конце, то можно заметить, что кода стало немного больше, но он стал более читаемым, за счет формирования функций-оберток. Иными словами, для повышения читаемости используются функции, которые объединяют небольшие части кода и своим наименованием поясняют читателю, какую роль они выполняют. ✨
После рефакторинга структуры кода, автор упоминает также о необходимости смыслового разделения кода. И демонстрирует это путём разделения логики, отвечающей за расчеты, и отображения, формирующегося с помощью создания HTML-файла. 💻
После этой вкусной главы, идут рассуждения и обоснования. Автор описывает принципы рефакторинга, и прибегает к метафоре “душок” или “запах” 👃, называя так критерии, с помощью которых можно понять требует код определенных изменений или нет. “Запах” при этом не является чем-то строгим и однозначно узнаваемым в коде. Такая метафора дает понять, что применение рефакторинга всё-таки должно быть ситуативным и опираться на опыт разработчика. 🤔
Как пример, одним из “запахов” является наличие комментариев. Если они встречаются в вашем коде, стоит подумать, что будет, если вы уберете комментарии - поймете ли вы или другой разработчик, что делает ваш код? Какое количество строк в вашем коде занимают комментарии по отношению к самому коду и так ли они необходимы? ❓
Далее, автор немного меняет подачу материала и мы попадаем в справочник и несколько последних глав посвящены каталогу приемов. 📚 Каждый прием каталога разделен на мотивацию (причину или “душок” по которому разработчик определяет необходимость рефакторинга), саму технику и пример (причем не только самого кода, но и визуальной схемы 📊), а в некоторых случаях и дальнейшее чтение, т.е. ссылку на какую-либо книгу или главу книги “Рефакторинг кода на JS”. 🔗
Что понравилось: 👍
Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.
Заполнить заявку
13287 тендеров
проведено за восемь лет работы нашего сайта.
+Книга очень наглядная и изобилует большим количеством схем, примеров кода до и после рефакторинга, пояснениями, ссылками на другие источники, инструменты, книги и даже людей, упоминая, в частности, Кента Бэка, обзор на одну из книг которого был у нас ранее. 🖼️
+Книга очень удачная по структуре, ее можно читать подряд, можно использовать как справочник, особенно это касается каталога приемов в конце книги. 📚
+В книге есть множество отсылок к полезной литературе, включая workbook по рефакторингу, где даются упражнения для отработки навыков применения принципов и шаблонов рефакторинга. (https://www.amazon.com/Refactoring-Workbook-William-C-Wake/dp/0321109295) 🤓
Что не понравилось: 🤔
-Как и в книге Кента Бэка, после прочтения появляются сомнения, достаточно ли у тебя релевантного опыта, чтобы интуиция подсказывала где в коде нужны изменения. Однако автор приводит достаточно конкретизированных примеров, что облегчает понимание и приводит к накоплению этого самого опыта. 💡
В целом, книга “Рефакторинг кода на JS” Мартина Фаулера может быть отличным ресурсом для желающих улучшить структуру и читаемость своего кода. 🚀 Каждый пример или рекомендацию из книги можно применять в работе. Рекомендуем к прочтению! ✅