07
Архитектура как система запретов
иллюстрацияВ операционной из прошлой главы ошибиться трудно, и в 2009 году это удалось измерить. Группа исследователей под эгидой Всемирной организации здравоохранения ввела в восьми больницах восьми городов, от Сиэтла и Лондона до Нью-Дели и танзанийской Ифакары, короткий список проверок, который хирургическая бригада проходит вслух перед операцией, перед разрезом и перед тем, как пациента увезут из операционной. Смертность после операций упала с полутора процентов до 0,8, а осложнения с одиннадцати процентов до семи. Никто не изобрёл за это время новых лекарств или инструментов, врачи остались те же, и изменилось только то, что они стали по списку проверять несколько очевидных вещей.
Если прочитать этот список, бросается в глаза, что почти весь он состоит из запретов, пусть и сформулированных вежливо. Нельзя начинать, пока пациент не подтвердил своё имя и то, что именно ему будут оперировать. Нельзя делать разрез, пока не отмечено место операции, потому что хирурги, как ни трудно в это поверить, иногда оперируют не ту ногу. Нельзя зашивать, пока не пересчитаны салфетки и инструменты, потому что их иногда забывают внутри. Чек-лист почти ничего не говорит хирургу о том, как оперировать, так как это хирург знает сам. Он говорит, чего в операционной не должно случиться ни при каких обстоятельствах.
С архитектурой программ, если на неё смотреть глазами агента, происходит то же самое.
иллюстрацияСлово «архитектура» у большинства людей ассоциируется с красивой схемой: прямоугольники, стрелки между ними, подписи вроде «сервис оплаты» и «база клиентов», и всё это распечатано на большом листе и висит на стене в офисе, где его никто давно не читает. Инженеры определяют её точнее. Грэди Буч, один из людей, придумавших современные способы описывать устройство программ, в 2006 году написал, что архитектура состоит из значимых решений, определяющих форму системы, а значимость решения измеряется тем, сколько стоит его изменить. Цвет кнопки в архитектуру не входит, его меняют за минуту. То, как устроены данные о клиентках, входит, потому что менять это приходится неделями.
Пока программы писали люди, большая часть архитектуры жила в головах. Новый человек в команде первые месяцы то и дело слышал фразу «у нас так не делают»: вход у нас один, таблицу клиентов второй раз не заводят, старые миграции не трогают. Постепенно он усваивал эти правила вместе с тысячей других, никем не записанных, и через полгода уже сам говорил новичкам «у нас так не делают». Архитектура передавалась примерно так же, как передаются обычаи в деревне, и жила в памяти людей, которые давно в этой деревне живут.
После входа
Дальше книга открыта для тех, кто вошёл
Войдите через INITE или заведите аккаунт. Это займёт минуту, и книга откроется прямо здесь.