Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site |
|||||||||||||||||
Однажды старший монах, недавно введенный во храм, в тревоге обратился к Мастеру Java: «Мне было поручено добавить несколько возможностей в систему обработки заказов для Императорского Сапожника, а я не могу добиться ни малейшего понимания, как она работает. Логика работы размазана по нескольким приложениям, и каждое — мешанина из разных технологий. Вместо создания общих утилит, авторы копируют куски кода с места на место, часто с небольшими изменениями. Фоновые задачи ищут и модифицируют поля базы данных по каким-то недокументированным правилам. Сама база данных — против меня: простое изменение поля в одной таблице может вызвать каскад вставок и удалений в других». «Я вижу два пути для тебя», — сказал Мастер. «На первом ты быстро внесешь только необходимые дополнения и объявишь о своей победе. На втором тебя ждет тяжелая задача по рефакторингу всего кода. Как ты поступишь»? Монах в стыде поклонился: «Не могу решить. Прямо сейчас я боюсь трогать хоть что-нибудь, чтобы мое невежество меня не уничтожило». «Страх – хороший щит, но никудышный меч», — кивнул Мастер. «Чтобы победить твой страх, мы должны разрушить твое невежество». Своим посохом он распахнул окно и указал на лес за ним. «Следуй в горы дорогой Белой Крапивы три дня, и ты придешь к скиту на утесе. Там живет ученый брат, хранящий копии клиентской документации. Он просветит тебя в отношении устройства системы». Монах сделал, как было сказано, и на закате третьего дня подошел к скиту, который был зданием, непохожим на все, что он видел раньше. Очевидно, в начале своей жизни это был крепкий каменный дом на самом краю утеса. Сейчас, однако, три новых крыла дома из грубо обработанной сосны с остатками коры сильно выдавались в пространство перед утесом. За ними были открытые переходы и лестницы, которые заканчивались дюжинами комнат, едва опиравшимися диагональными сваями на скальные выступы далеко внизу. К этим комнатам были привязаны дополнительные, сделанные и бамбука, безумно перекошенные и выдающиеся еще дальше в пропасть. Из пола у них свисали лестницы, ведущие к отдельным комнатам, подвешенным на веревках и сделанных в основном из тростника и соломы. Все это было укреплено конопляными веревками, привязанными то к подоконнику, то к флюгеру, как будто какой-то огромный пьяный паук поймал в свои сети сотню хижин. Вся конструкция тошнотворно покачивалась на ветерке, поскрипывая. Монах стоял некоторое время пораженный, потом пришел в себя и позвонил в гонг. Из дальней комнаты показался отшельник. Он скользил по веревкам, сползал по крышам, исчез в люке и, в конце, появился в дверях дома. «Какие новости из храма»? — спросил отшельник. «Меня, наконец, призывают домой»? Монах жестом показал, что таких новостей у него нет. Отшельник понурился. «Ох, я несчастный! Пока меня не призовут, я должен все расширять этот скит за край утеса, чтобы хранить растущий архив храмовых временных документов. И я делаю это смиренно вот уже годы, надеясь однажды заслужить благосклонность Мастера и вернутся из ссылки. Признаюсь, правда, что работа моя становится все тяжелее. Зимой снег так давит на крыши, что бамбуковые сваи прогибаются, а летом я бьюсь с сороками, чтобы мои соломенные стены не были разобраны на гнезда. Кстати, я надеюсь, ты не подвержен аллергии на пыльцу? А то однажды семь комнат сразу обрушились с утеса от сильного чиха». «Но это же безумие!» — вскричал монах. Сейчас, когда у тебя есть понимание, сколько комнат потребуется, почему не разобрать этот ужас и построить дом заново»? «Что за чепуха! Только представь, сколько времени это займет и как недоволен будет Мастер. Как ты предлагаешь мне обосновать удаление комнат вместо их добавления? Моя ссылка растянется еще на десять лет! Нет, намного безопаснее сделать в точности то, что было приказано. В любом случае, я знаю этот скит, его сильные и слабые места как свои пять пальцев. И пока хожу осторожно и держусь подальше от перца, вероятность падения в пропасть достаточно невелика». «Но довольно обо мне, ученый брат. Если ты не был прислан сюда за мной, то, наверно, тебе нужна моя помощь в понимании системы обработки заказов для Императорского Сапожника. Многие, как и ты, приходили сюда по этой причине, потому что я и есть ее автор». Монах лишь поклонился и отправился в обратный путь, уже получив обещанное просветление. Перевод Alexei Burmistrov (Алексей Бурмистров). Отрывок из The Codeless Code, созданная Qi (qi@thecodelesscode.com). При условии, в соответствии с условиями Creative Commons Attribution-NonCommercial 3.0 Unported License. |