Bash.org.ru IT Happens Истории ## 1001 – 1100 | страница 5
Слышу сзади: «Стой, соколик, где стоишь, и руки вверх!» Оборачиваюсь. Бабушка — божий одуванчик с «макаровым». «Пошли, — говорит, — к начальнику охраны, будем разбираться, кто ты такой и как оказался на территории режимного ВЦ во внеурочное время». А мне-то что — допуск и предписание у меня есть. «Пойдёмте, — отвечаю, — раз такое дело».
Начальник охраны оказался бдительным соколом сталинского разлива. Пролистал мои документы, скривился и говорит: «В принципе, ты имеешь право здесь находиться, но есть одна большая неувязка. Я с утра код на двери в машинный зал сменил, но никому его не сообщал и не сообщу до завтрашней утренней планёрки. Ты его уже знаешь. Что это значит? У нас утечка информации!» И смотрит на меня исподлобья с хитрым прищуром.
Битых два часа пришлось мне ему доказывать, что я, недавний выпускник мехмата, страшным усилием мозга чисто случайно догадался, какой будет код на двери 2 января 1985 года, если предыдущий код был «1984».
#1008: Если б мишки были пчёлами
00:30 26.06.2009, IT happens
Забавная всё-таки штука — программирование!
Лет пятнадцать назад разработчик пишет красивую, изящную и компактную программу. Последователи добавляют ещё один режим вызова, изменяющий соглашение о передаче параметров. Ещё через пяток лет добавляется третий режим с обходной точкой входа и взятием необходимых данных из файла.
Программа умеет работать как в интерактивном, так и в пакетном режиме, при этом может оставаться реентерабельной, не выполняя реинициализацию при повторном входе, и вызывается в разных режимах из нескольких прикладных пакетов.
И вот модифицированный код составляет уже 40% текста программы.
Настаёт момент, когда авторский алгоритм перестаёт работать для определённой комбинации параметров. Причём определяется это не тестированием, а эмпирически — по жалобам клиентов. Изрядно поломав голову и отладчик, приходится в очередной раз крушить остатки стройной концепции и дописывать условную принудительную реинициализацию переменных посреди красивого авторского кода.
Что делает программа? Фигню — печатает PIN-конверты для банковских карточек. Обычная такая банковская программа, написанная не самыми бездарными программерами. У нас тут ещё миллион таких.
Как там у классиков? «Если бы строители строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию».
Верю!
#1009: Автоматическая очистка, сменные шарики