Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site

tcc-case-title
немного geeky  немного geeky

Случай 33

Страх

Однажды старший монах, недавно введенный во храм, в тревоге обратился к Мастеру Java:

«Мне было поручено добавить несколько возможностей в систему обработки заказов для Императорского Сапожника, а я не могу добиться ни малейшего понимания, как она работает. Логика работы размазана по нескольким приложениям, и каждое — мешанина из разных технологий. Вместо создания общих утилит, авторы копируют куски кода с места на место, часто с небольшими изменениями. Фоновые задачи ищут и модифицируют поля базы данных по каким-то недокументированным правилам. Сама база данных — против меня: простое изменение поля в одной таблице может вызвать каскад вставок и удалений в других».

«Я вижу два пути для тебя», — сказал Мастер. «На первом ты быстро внесешь только необходимые дополнения и объявишь о своей победе. На втором тебя ждет тяжелая задача по рефакторингу всего кода. Как ты поступишь»?

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

«Страх – хороший щит, но никудышный меч», — кивнул Мастер. «Чтобы победить твой страх, мы должны разрушить твое невежество». Своим посохом он распахнул окно и указал на лес за ним.

«Следуй в горы дорогой Белой Крапивы три дня, и ты придешь к скиту на утесе. Там живет ученый брат, хранящий копии клиентской документации. Он просветит тебя в отношении устройства системы».

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

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

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

Монах стоял некоторое время пораженный, потом пришел в себя и позвонил в гонг.

Из дальней комнаты показался отшельник. Он скользил по веревкам, сползал по крышам, исчез в люке и, в конце, появился в дверях дома.

«Какие новости из храма»? — спросил отшельник. «Меня, наконец, призывают домой»?

Монах жестом показал, что таких новостей у него нет.

Отшельник понурился. «Ох, я несчастный! Пока меня не призовут, я должен все расширять этот скит за край утеса, чтобы хранить растущий архив храмовых временных документов. И я делаю это смиренно вот уже годы, надеясь однажды заслужить благосклонность Мастера и вернутся из ссылки. Признаюсь, правда, что работа моя становится все тяжелее. Зимой снег так давит на крыши, что бамбуковые сваи прогибаются, а летом я бьюсь с сороками, чтобы мои соломенные стены не были разобраны на гнезда. Кстати, я надеюсь, ты не подвержен аллергии на пыльцу? А то однажды семь комнат сразу обрушились с утеса от сильного чиха».

«Но это же безумие!» — вскричал монах. Сейчас, когда у тебя есть понимание, сколько комнат потребуется, почему не разобрать этот ужас и построить дом заново»?

«Что за чепуха! Только представь, сколько времени это займет и как недоволен будет Мастер. Как ты предлагаешь мне обосновать удаление комнат вместо их добавления? Моя ссылка растянется еще на десять лет! Нет, намного безопаснее сделать в точности то, что было приказано. В любом случае, я знаю этот скит, его сильные и слабые места как свои пять пальцев. И пока хожу осторожно и держусь подальше от перца, вероятность падения в пропасть достаточно невелика».

«Но довольно обо мне, ученый брат. Если ты не был прислан сюда за мной, то, наверно, тебе нужна моя помощь в понимании системы обработки заказов для Императорского Сапожника. Многие, как и ты, приходили сюда по этой причине, потому что я и есть ее автор».

Монах лишь поклонился и отправился в обратный путь, уже получив обещанное просветление.