Код больше не пишут

Глава 7. Архитектура как система запретов

Часть III. Анти-vibe8 мин

07

Архитектура как система запретов

Операционная перед разрезом: бригада в масках неподвижно стоит у стола, медсестра держит планшет со списком, инструменты не тронуты.иллюстрация
Перед разрезом бригада вслух проходит короткий список проверок. В 2009 году такой список ВОЗ снизил смертность после операций с 1,5 до 0,8 процента.

В операционной из прошлой главы ошибиться трудно, и в 2009 году это удалось измерить. Группа исследователей под эгидой Всемирной организации здравоохранения ввела в восьми больницах восьми городов, от Сиэтла и Лондона до Нью-Дели и танзанийской Ифакары, короткий список проверок, который хирургическая бригада проходит вслух перед операцией, перед разрезом и перед тем, как пациента увезут из операционной. Смертность после операций упала с полутора процентов до 0,8, а осложнения с одиннадцати процентов до семи. Никто не изобрёл за это время новых лекарств или инструментов, врачи остались те же, и изменилось только то, что они стали по списку проверять несколько очевидных вещей.

Если прочитать этот список, бросается в глаза, что почти весь он состоит из запретов, пусть и сформулированных вежливо. Нельзя начинать, пока пациент не подтвердил своё имя и то, что именно ему будут оперировать. Нельзя делать разрез, пока не отмечено место операции, потому что хирурги, как ни трудно в это поверить, иногда оперируют не ту ногу. Нельзя зашивать, пока не пересчитаны салфетки и инструменты, потому что их иногда забывают внутри. Чек-лист почти ничего не говорит хирургу о том, как оперировать, так как это хирург знает сам. Он говорит, чего в операционной не должно случиться ни при каких обстоятельствах.

С архитектурой программ, если на неё смотреть глазами агента, происходит то же самое.


Большая распечатанная схема из прямоугольников и стрелок на стене офиса, углы загнулись и выцвели, под ней пустые столы.иллюстрация
Схема архитектуры на стене, которую давно никто не читает. Агенту правила нужны записанными, лучше всего в виде запретов.

Слово «архитектура» у большинства людей ассоциируется с красивой схемой: прямоугольники, стрелки между ними, подписи вроде «сервис оплаты» и «база клиентов», и всё это распечатано на большом листе и висит на стене в офисе, где его никто давно не читает. Инженеры определяют её точнее. Грэди Буч, один из людей, придумавших современные способы описывать устройство программ, в 2006 году написал, что архитектура состоит из значимых решений, определяющих форму системы, а значимость решения измеряется тем, сколько стоит его изменить. Цвет кнопки в архитектуру не входит, его меняют за минуту. То, как устроены данные о клиентках, входит, потому что менять это приходится неделями.

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

После входа

Дальше книга открыта для тех, кто вошёл

Войдите через INITE или заведите аккаунт. Это займёт минуту, и книга откроется прямо здесь.