«Чистая архитектура. Искусство разработки программного обеспечения» kitobiga sharhlar

Отличная книга программиста, который рассказывает о своем опыте разработки программного обеспечения начиная с 60х годов. В книге рассказывается о том, что такое архитектура программного обеспечения и какая она бывает. Уклона в какие либо языки нет, поэтому будет полезна для любого программиста.

Спорная книга. С одной стороны, принципы изложены безусловно верные, с другой стороны – много воды и озвучиваемое размазано весьма сумбурным слоем по всей книге, не хватает системности, не хватает более глубокого изложения теоретических основ. Автор мечется, то разжевывает термины, которые потом практически не используются, то словно мемуары рассказывает примеры, затрагивая их архитектуру лишь вскользь. Что-то можно было изложить короче и четче, а остальное содержание разбавить практическими задачами по разработке типовых решений. Идея-то в целом проста: нужны архитектурные границы, логика решений не должна зависеть от деталей – низовых уровней приложения. Но из данной книги она будет доступна, пожалуй, опытным разработчикам, кто на опыте не раз сталкивались с проблемами сопровождения и прочувствовали, что такое многие изменения из-за простой мешанины разных слоев в коде. Таким читателям может быть полезно в обобщенном виде понять основополагающие принципы. Да и то, много воды для этого. А начинающим, полагаю, это понимание из книги может оказаться не так доступно. Во-первых, само изложение, оптяь-таки, размыто, во-вторых, несмотря на многократные примеры из опыта автора, недостает практических примеров для читающего. Современная IT литература в целом страдает, авторы либо плохие специалисты, либо плохие педагоги, увы.

Органичное продолжение книги Чистый код.


Однозначно Must Read для всех разработчиков.


В первых главах автор объясняет простые вещи, типа парадигм программирования, хорошо в голове укладывается из смысл.


В книге автор последовательно описывает принцип дизайна классов (SOLID). На основе этих глав принцип построения компонентов. А дальше в целом архитектуры системы. Ссылаясь на информацию предыдущих глав.


Самое интересное, что Мартин не рассматривает код только с точки зрения качества. Показывает альтернативные, относительно дешевые варианты разработки. При этом четко дает понять чем можно жертвовать, а чем точно не стоит.


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


Последняя глава про биографию кажется была лишней....

Эту книгу должен прочитать каждый разработчик, независимо от уровня профессионализма. Автор объясняет какие имеются архитектуры и парадигмы, а самое главное, объясняет как они возникли и почему в настоящее время стали популярны.

У Мартина более разработчики подход чем у Эванса. Потому читать эту книгу разработчику гораздо интереснее. Простой язык. Простые примеры.

Книга классная и полезная.


Есть небольшое замечание по переводу. Надеюсь будет полезно читателям:

В тексте встречается рассуждения про науку (см. подзаголовок «Наука во спасение»). Некоторые утверждения выглядят странно и непонятно.

Дело в том что речь идет о _естественных_ науках. Слово «Наука» в русском языке имеет более широкое значение, чем «science» в английском.


Очень хорошо разница объяснена в примечании переводчика в книге «Ружья, микробы и сталь» Джареда Мэйсона. Там аналогичная проблема проявилась при размышлении автора является ли история наукой, что для русскоязычного читателя выглядит также странно:

"Английский термин «political science» (буквально, «политическая наука») – эквивалент русского термина «политология». В отличие от английского языка, в русском словосочетание «историческая наука» – устоявшийся термин. Несмотря на то что английское слово «science» в большинстве случаев переводится на русский как «наука», оно имеет более узкое значение, примерно соответствующее понятию «естественная наука» или «эмпирическая наука». То же неполное соответствие существует между английскими «scientific» и «scientist», с одной стороны, и русскими «научный» и «ученый» – с другой. – Примеч. перев."

В эту книгу прямо просится аналогичное примечание, иначе первая же фраза вызывает ступор «Принципиальное отличие науки от математики заключается в том, что правильность научных теорий и законов нельзя доказать». Корректно было бы добавить сноску или дополнить текст «…отличие естественных наук от математики…»

Роберт Мартин как по мне лучший в технической литературе по разработки, он как отец показывает как надо и как не надо делать. Так и в этой книги очень много полезной информации, хотя и некоторые моменты не возможны в наших реалиях либо они просто устарели.

Важная книга, которую стоит читать как начинающему, так и опытному разработчику. Даже если что-то не сходу будет понятно "а зачем оно надо", то как минимум книга заложит правильные мысли о подходах к разработке. Книгу явно стоит изредка перечитывать, потому что каждый раз она будет показывать вам что-то новое. Must Have Must Read.

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

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

Отзыв с Лайвлиба.

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

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

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

Отзыв с Лайвлиба.

Izoh qoldiring

Kirish, kitobni baholash va sharh qoldirish
Yosh cheklamasi:
16+
Litresda chiqarilgan sana:
01 noyabr 2018
Tarjima qilingan sana:
2019
Yozilgan sana:
2018
Hajm:
401 Sahifa 136 illyustratsiayalar
ISBN:
978-5-4461-0772-8, 9780134494166
Mualliflik huquqi egasi:
Питер
Yuklab olish formati:

Ushbu kitob bilan o'qiladi

Muallifning boshqa kitoblari