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