f.f.o. :: /add

Александр Фенстер

add@fenster.name fenster.name

Все записи

[778] 25 июля 2011; 16:10

В результате долгого развития одной написанной на перле тулзы в её коде появилась функция, принимающая семнадцать параметров. Очередная правка добавила к ней восемнадцатый аргумент, причём не в конец, а в серединку. Функция вызывается из трёх мест в разных файлах; естественно, про одно из этих мест забыли, в результате чего параметры «поплыли» и в результате в переменную вместо названия тестовой конфигурации приехал полный путь к лог-файлу.

Проблема в прошлую пятницу свалилась на меня (хотя ни к тулу, ни к правке я отношения не имею, просто все в отпуске). На поиск причины ошибки File not found в нескольких десятках тысяч строк кода потрачено порядка часа времени, баг зарепорчен. Человек, который в итоге закоммитил исправление, заодно пронумеровал все восемнадцать параметров как в определении функции, так и во всех трёх местах, где она вызывается, с тем, чтобы в будущем подобных проблем не возникало. Перл, как говорится, такой перл, а энтерпрайз — такой энтерпрайз: иногда возникает ощущение, что пишем на фортране или используем какой-нибудь LAPACK, где «стопицот» однотипных параметров у функции — нормальная ситуация. А сделанные на коленке тулы — такие, вы понимаете, тулы.