четверг, 16 сентября 2010 г.

История одного коммита

Год назад прочтением Олди, дождливой погодой ... и багами в коде было навеяно написание данного текста :)

Код изогнулся, как большой кусок оргстекла, поблескивая константами и переменными... он выдержал, он всегда выдерживал. Хотя такое случалось все чаще и чаще, но никто не обращал на это должного внимания, многим даже нравилось данное зрелище : "Так чудесно переливается в свете мониторов", - думали они. Все было точь-в-точь, как всегда и в этот раз, но что-то пошло не так... Монолитная твердая гладь заволновалась и по ней вдруг побежали волны. Казалось, еще чуть-чуть и все пойдет трещинами, расколется, разлетится на мелкие крупицы, закричат вдруг процедуры и функции и будут хвататься за острый край мироздания, моля о помощи своих друзей, напарников, но те, непонимая чего от них хотят, просто будут пялится и "укать" как слабоумные. Это был очередной Васин комит....


Через момент уже все вернулось на круги своя, только местами код, который должен быть прозрачным, как родниковая вода, помутнел, и если вглядеться, то можно было разобрать нечеткие очертания какого-то существа с большим количеством ног... или не ног. Но, как обычно, никто не обратил на это внимания ... Затем уже все привыкли и к мутностям кода. "Главное, что работает", - звучала всеми любимая фраза то здесь, то там...


В один прекрасный вечер, если можно так назвать вечер пятницы 13-го, мутные пятна начали меняться - темнеть и увеличиваться, - складывалось такое впечатление, что с другой стороны кто-то приближается к стеклу. И через минуту послышался треск ... правда, трещин не было. Хотя если прислушаться, то можно было бы заявить, что это был даже не треск, а хруст... смешанный с тихим чавканьем. И если в данный момент кто-то решил бы взглянуть на весь код одним взлядом, то он мог бы заменить, что поверхность кода покрывается, черными точками - норами, ходами, лазами... мог бы заметить, хотя наверное и не заметил бы до того, пока что-то не начало вылазить из одной из дыр. Это был жук, только исполинский размеров. Гигантская тварь осмотрелась и молча, не издавая ни звука, двинулась на остолбеневших от страха жителей модуля. Она жрала и жрала переменную за переменной, цикл за циклом ... не щадя никого, даже операторов сравнения. Зрелище было не для слабонервных: немалых размеров жесткокрылое усердно грызло тело совсем молодой еще функции, его верхние челюсти были покрыты липкой жижой, которая не так давно была представителем здешнего населения. Первыми вышли из оцепенения регекспы и, выстроившиcь в боевой строй, начали ловко метать квантификаторы, предпринимая попытки пробить фосеточные глаза. Бесстрашные глобальные переменные кидались на тварь, на огромного жука, впиваясь своими зубами в хитиновый панцырь, масивы и хеши, объеденившись вместе (чего до этого не бывало), пытались нападать группами ... пытались, но тщетно. Все они не могли нанести хоть какой-либо урон чудовищу. И тут внезапно все закончилось, все затихло, жук-переросток вдруг замер, как вкопанный, и через секунду уже бежал к своей спасительно норе... спасительным оказалось появление тестера ... спасительным ... правда спасшихся уже не было, везде виднелись обломки изувеченного кода... Да бесспорно выжившие остались, но, навсегда, они остануться калеками-инвалидами; многие функции потеряли свои локальные переменные, классы остались без экземпляров (хотя они не были абстрактными), дескрипторы и сокеты залипли.


Вот такая история. Правда, ходили слухи про знахаря или волшебника, имя которому - Рефакторинг, мессия то есть, но кто ж в наше время слухам то верит ...


ЗЫ: И не Вася в этом виноват

0 коммент.:

Отправить комментарий

Не забудьте добавить себя в постоянные читатели и включить уведомления о новых комментариях, либо воспользуйтесь RSS каналом ;)