программистское
Dec. 10th, 2007 06:26 pmА бывает вот такое, например. Представьте, что вы долго чинили какой-то довольно запутанный баг, но вот вы наконец в нем разобрались, продумали, что в точности ваши изменения должны делать, написали их, запустили - не работает - исправили несколько проблем, запустили еще раз - ура, все в порядке!
И вы уже готовы отослать ваше решение на code review (для непрограммистов: послать коллегам, чтобы посмотрели и проверили), как вдруг вы смотрите на него еще раз свежим взглядом и видите, что в имени одной из переменных есть ошибка, оно просто написано неверно, и поэтому ваш код не делает то, что вы думаете, что он делает.
(во время компиляции это не отловилось, например, потому, что это Джаваскрипт и "имя переменной" на самом деле ключ хэша, или что-то в этом роде. Неважно)
Вы исправляете ошибку, перезапускаете - и, конечно, ничего не работает.
И тут возникает такая дилемма. С одной стороны, "if it ain't broke, don't fix it": у вас есть работающее решение, оно проверено на всех браузерах. Тот аргумент, который из-за описки не передавался, можно просто удалить. С другой стороны, вы не понимаете, почему оно работает, а когда делаете так, как понимаете, оно не работает. И разобраться, что там именно происходит и какие тонкости поведения браузеров и кода, который изначально вообще не вы писали, может легко еще пол-дня отнять, скажем, а то и больше. Как бы вы поступили?
И вы уже готовы отослать ваше решение на code review (для непрограммистов: послать коллегам, чтобы посмотрели и проверили), как вдруг вы смотрите на него еще раз свежим взглядом и видите, что в имени одной из переменных есть ошибка, оно просто написано неверно, и поэтому ваш код не делает то, что вы думаете, что он делает.
(во время компиляции это не отловилось, например, потому, что это Джаваскрипт и "имя переменной" на самом деле ключ хэша, или что-то в этом роде. Неважно)
Вы исправляете ошибку, перезапускаете - и, конечно, ничего не работает.
И тут возникает такая дилемма. С одной стороны, "if it ain't broke, don't fix it": у вас есть работающее решение, оно проверено на всех браузерах. Тот аргумент, который из-за описки не передавался, можно просто удалить. С другой стороны, вы не понимаете, почему оно работает, а когда делаете так, как понимаете, оно не работает. И разобраться, что там именно происходит и какие тонкости поведения браузеров и кода, который изначально вообще не вы писали, может легко еще пол-дня отнять, скажем, а то и больше. Как бы вы поступили?