Есть такое понятие в информатике как «закладка» или недокументированная возможность. Их вносят разработчики в код, но не описывают в документации. Закладки я разделяю на четыре вида. Вредоносные — очень плохие закладки. Часто из-за них происходят утечки информации, сбои в работе. Например, приложение параллельно отсылает информацию третьему лицу или неоправданно много потребляет ресурсов, а пользователь даже не подозревает. Есть отладочные. Их внесли разработчики, чтобы отладить код и всю программу. Отсюда всякие секретные комбинации клавиш и коды к играм, дающие бессмертие и горы золота. Третьи - это шутки. Они в общем-то безвредны, не мешают работать и не влияют на функциональность, но могут иногда повеселить. А бывают неумышленные, оставленные по недосмотру. Такие закладки очень непредсказуемые.
Недавно мы столкнулись с подобной закладкой. Дело было так. Нас попросили плановщики реанимировать одну старую программу, написанную лет 12-13 назад. Ей лет 10 никто не пользовался, а вот сейчас решили вновь прибегнуть к хитрому обсчету и анализу данных, реализованным в программе. Программисты писали ее на чистом си, поэтому мы особо не возились с кодом. Изменили пару директив, подключили новые модули. Перекомпилировали, и программа заработала. Мы ввели тестовые данные. Результат сошелся. Прогнали по всем веткам — снова никаких нареканий. Радостные вернули плановщикам. Через пару дней они приходят к нам. Показывают отчет. Вроде все верно. Тогда смотрим на дату. Вместо принятого сейчас формата, внизу было напечатано «Отчет выполнен в год 2011 от РХ»! Четыре часа, большая часть нашего отдела, пыталась найти, где же в коде это прописано! Нашли только после задействования тяжелой артиллерии в лице IdaPro. Очень хитро замаскировал программист прошлого сей кусочек. Даже завидую. После того как нашли, еще часа два обсуждали. Что же делать с тем программистом. То ли в знак уважения снять свои шляпы, то ли наоборот надавать по шапке, чтобы не повадно было закладки делать.