Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site |
|||||||||||||||||
(Sorry, this page has not been translated by the translator you selected.) Вернувшись из отпуска, главный настоятель клана Смеющейся Обезьяны нашел свой храм в состоянии паники и хаоса. Финансовая система, которую они намедни изменили, стала генерировать NullPointerException для всех новых клиентов. Чрезвычайно обеспокоенные пользователи стали закрывать свои счета едва ли не в тот же день. С трудом настоятель нашёл проблему в использовании метода, заявленной целью которого было вернуть список пользовательских транзакций. Если же транзакций не было, то возвращался null, а не пустой список. “Приведите ко мне монаха, написавшего этот метод”, - сказал он стражам храма, - “а также монаха, который его использовал.” Первый монах, старший из двух, сразу же обвинил второго: “Спецификация метода в высшей степени однозначна. Не моя вина, что он не проверил результат на null”. Второй монах опустил голову от стыда и промолчал. Настоятель хлопнул в ладоши и на пол перед каждым монахом были поставлены две высокие нефритовые урны. “Ваши наказания написаны на свитках, находящихся внутри. Каждый день вы должны доставать первый попавшийся свиток и исполнять указанное. И так до тех пор, пока ваша урна не станет пустой”. Младшему монаху было велено идти первым. Не успел он опустить руку и наполовину, как услышал шелест бумаги. Прочитав свиток он поклонился и вышел из комнаты. Старший монах засунул руку так глубоко, что его пальцы коснулись холодного дна. “В этой урне нет свитка”, - сказал монах и слегка улыбнулся уголком рта. “Там нету ни рыбы, ни десяти гор”, - произнёс настоятель. И тут старший монах вскрикнул от боли. Урна упала и разбилась. Скорпион торопливо побежал по плиткам. Настоятель посмотрел на умирающего монаха. “Все пустышки не равны”. Перевод Sergey Malenkov. Отрывок из The Codeless Code, созданная Qi (qi@thecodelesscode.com). При условии, в соответствии с условиями Creative Commons Attribution-NonCommercial 3.0 Unported License. |