Creeping_death обратиться по имени
Вторник, 25 Февраля 2003 г. 05:59 (ссылка)
Насчет гениев и лени:)
Как-то я работал над обслуживанием программки, ведущей рассчет коммунальных платежей и распечатывающей все эти бумажки со счетами, которые потом кидали по ящикам. И вот, на этих бумажках печаталась, как обычно, улица и номер дома. Как известно, номера домоы иногда содержат еще и буквы... Так вот, однажды из одного из управлений каким-то там хозяйством прибежали юзеры и нпожаловались на то, что программа не печатает в номерах домов буквы. Попросили исправить. Ну, конечно же, работа мне. Дело в том, что в базе из-за лени, наши программисты особо не мудрили, а просто записывали номер дома как целое число (то есть там о буквах и речи не могло быть). Я тоже долго не думал и просто добавил в базу еще одно поле-для буквы, а дальше у с меня этот заказ сняли, перевели на другой. И, оказывается, наши программеры, кто этим заказом занимался после меня, перехватили идею, но извратили ее до неузнаваемости. Короче, буква писалась, но странным образом... Иногда распечатывался номер дома с буквой не как, например, 512а, а как 512+порядковый_номер_а. Кончилось всё тем, что была сделана двойная работа - в тех записях, где поле для буквы было нулевым, номер дома оставался неизменным, а в тех, где имелась буква, просто каким-то образом декрементировался номер дома. Я когда смотрел на код, во мне была только одна бысль - "Мда, пива много выпили, видимо, перед тем как написать ТАКОЕ". Самое странное, что эта гениальная конструкция еще и до сих пор исправно работает, вроде :)