ru

Купить книгу Законы программной инженерии на русском [PDF, EPUB, FB2, MOBI]

#367040
Законы программной инженерии

Laws of Software Engineering (B0GXH5JYVP)

Купить и скачать электронную книгу в форматах PDF, EPUB, FB2, MOBI

Milan Milanovic | #44: Программная инженерия

4.4 (15)
Закон Конвея. Закон Брукса. Закон Гудхарта. Закон Хайрама. Если вы достаточно долго занимаетесь разработкой программного обеспечения, вы распознавали эти правила еще до того, как узнали их названия. Если у вас была возможность увидеть неудачную переработку кода или ситуацию, когда время выполнения увеличивается, но при этом замедляется, вы столкнулись с этими правилами.

Эти закономерности проявляются в программных проектах уже более пятидесяти лет . Опытные инженеры знают их, но усвоили на собственном горьком опыте. Эти уроки никогда не были собраны в одном месте, где их можно было бы прочитать. Они хранились в научных статьях 1960-х годов, а также в некоторых сообщениях в блогах, которыми делятся один раз и забывают. Я также находил их в обсуждениях и при проверке кода.

В этой книге собраны все эти законы и принципы в одном месте. Более 63 законов и принципов, каждый со своей главой, с предисловиями доктора Ребекки Парсонс (заслуженного технического директора Thoughtworks) и Адди Османи (директора по разработке в Google Cloud AI).

В каждой главе рассматривается происхождение закона, его реальная работа, его применение в реальном мире и взаимосвязь с другими законами, описанными в книге. Последний аспект имеет большое значение. Некоторые из этих принципов взаимно усиливают друг друга, а другие прямо противоречат друг другу. Разделы «Связанные законы», расположенные по всей книге, показывают, где эти связи существуют. Это важно, потому что на практике инженерное дело — это компромиссы, а не правила.

Книга состоит из семи самостоятельных частей:

Часть I: Архитектура и сложность. 8 законов, включая закон Галла, теорему CAP и закон Хайрама.
Часть II: Люди, команды и организации. 10 законов, включая закон Конвея, закон Брукса и принцип Питера.
Часть III: Время, оценка и планирование. 6 законов, включая закон Хофштадтера и закон Гудхарта.
Часть IV: Качество, техническое обслуживание и эволюция. 10 законов, включая технический долг, законы Лемана и пирамиду тестирования.
Часть V: Масштабирование, производительность и рост. 4 закона, включая закон Амдала и закон Меткалфа.
Часть VI: Принципы кодирования и проектирования. 6 законов, включая SOLID, DRY и YAGNI.
Часть VII: Принятие решений и предвзятость. 13 законов, включая принцип Оккама, эффект Даннинга-Крюгера и принцип Парето.

Многие главы также рассматривают сопутствующие законы: закон Джорджа Бокса, модель Spotify, правило двух пицц, эффект Мертвого моря, эффект кобры, синдром самозванца и многое другое. Здесь гораздо больше, чем предполагает оглавление.

Читать от корки до корки необязательно. Каждая глава самодостаточна. Создание распределенной системы? Начните с части I. Проблемы команды? Часть II. Проблемы оценки? Часть III. Проблемы с кодовой базой? Часть IV. Или начните с первой страницы. Это тоже подойдет.

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

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

Отзывы о книге

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

— Маартен Далмийн, автор книги «Создание ценности с помощью целей спринта»

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

— Влад Хононов, автор книг «Балансировка взаимосвязей в проектировании программного обеспечения» и «Изучение предметно-ориентированного проектирования».

Введите ваш e-mail

Мы отправим электронную книгу на ваш e-mail
Введите корректный e-mail
На каком языке вы хотели бы купить книгу?
Оформляя заказ, вы соглашаетесь с условиями предоставления услуг