Все идет по плану.
Мастер Банзен навестил аббата в соседней провинции, отдел которого недавно выиграл у прочих отделов контракт на разработку одного приложения.
- Не стоило нам выигрывать этот контракт, - жаловался аббат, наливая чай в кружку. – Код, который нам достался – это высоченная куча, тронешь которую – и тебя накроет лавиной "null-pointer exception" по самые уши.
- Вообще-то я ем, - сказал мастер.
- Не удивительно, что наши предшественники тратили недели на самые малые изменения кода! – продолжил аббат. – Не удивительно, что терпение заказчика в конце концов лопнуло! Мы должны привести код в порядок, но я не знаю даже, откуда начать или как проверять, что в процессе мы не сломаем того, что сейчас работает.
- Где требования к проекту? – спросил мастер.
- Их нет, - сказал аббат. – Обычно заказчик приказывает вносить изменения сразу, как только они приходят ему в голову. Он говорит, что, по определению, то, что программа делает сейчас – работает правильно.
Банзен отпил чай.
- Неужели? Тогда все мои сожаления я адресую заказчику, а не тебе! Что за несчастный человек! Теперь уже дважды – и за немалую сумму – он занял все аббатство тем, чтобы оно написало код, который сделает его несчастнее. Тебе следует быть благодарным своим предшественникам за то, что они оставили тебе такую замечательную структуру.
thecodelesscode.com/case/162