Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site |
|||||||||||||
Вангохан, монах клана Паука, наткнулся на ошибку во вспомогательном классе, предоставленном кланом Смеющейся Обезьяны. Он вызвал младшего монаха, который его создал. “Ваши последние изменения в методе isHexNumber были ошибочны”, - сказал Вангохан. - “И хотя документации нет, само название подразумевает, что метод будет распознавать только строки, содержащие одну или более шестнадцатеричных цифр. Однако, Ваше регулярное выражение не использует якоря и имеет неправильный квантификатор. Метод вернёт true для любой строки, в любом месте которой присутствуют ноль или более шестнадцатеричных цифр, т.е. для любой строки”. “Я убедился, что существующие модульные тесты прошли”, - запротестовал младший монах. - “Отвергается null и принимаются все правильные шестнадцатеричные цифры”. Вангохан нахмурился: “Я Вам говорю, что картонная коробка не подходит для еды дочери Императора, а Вы мне отвечаете, что коза ей не подавится”. Вангохан вызвал старшего монаха, который отвечал за общую библиотеку и объяснил проблему. “Мы не можем изменить реализацию”, - сказал старший монах. - “В настоящее время этот метод используется во всём Храме. Если он вдруг станет отвергать ранее принятые строки, то может произойти катастрофа”. Вангохан ударил кулаком по столу монаха: “Я Вам говорю, что картонная коробка не подходит для еды дочери Императора, а Вы мне отвечаете, что ей может не понравиться вкус баранины и инжира”. Вангохан вызвал главного настоятеля клана Смеющейся Обезьяны и объяснил проблему. “Я приму участие в этом обсуждении”, - вздохнул настоятель. - “Должно же быть решение, удовлетворяющее все стороны”. В тот вечер Вангохан получил письмо от настоятеля, в котором утверждалось, что теперь метод должен работать точно как ожидается. Вангохан просмотрел код и обнаружил, что метод совсем не изменился, за исключением комментария сверху: #pre ** * isHexNumber возвращает true для любой строки, * в любом месте которой присутствуют * ноль или более шестнадцатеричных цифр. * Вангохан уронил голову на стол: “Очевидно, картонная коробка должна подходить для еды дочери Императора, ибо она присутсвует в Императорском меню”. Перевод Sergey Malenkov. Отрывок из The Codeless Code, созданная Qi (qi@thecodelesscode.com). При условии, в соответствии с условиями Creative Commons Attribution-NonCommercial 3.0 Unported License. |