metaclass: (дзедline)
metaclass ([personal profile] metaclass) wrote2013-02-22 02:48 pm
Entry tags:

Патч в кложурь

Сидел до утра пилил модуль в опердени на кложуре.
Наткнулся в процессе на классическую шизу - "ошибка в обработке ошибок", некоторые ошибки в исходниках (при macroexpand) в принципе не показывают информацию о месте, где произошла ошибка.
Мне-то хорошо, я hg diff глянул и сразу вижу где чернь, потому что я коммиты делаю после каждой заработавшей функции, но такие ошибки напрягают.
Полез искать в исходники, вроде починил, сообщение об ошибке чуть более аккуратно оформил, информации добавил, оформил баг-репорт с патчем.
Даже если в апстрим попадет нескоро - возможность самостоятельно починить исходники в дебрях языка или либ сильно спасает. И является тестом на пригодность к использованию разного рода не особо мейнстримных языков - если можно их починить самому за пару часов - пригоден, иначе - нет.

[identity profile] metaclass.livejournal.com 2013-02-22 12:20 pm (UTC)(link)
Да, это ж классическая проблема - народу бы обычные пути выполнения покрыть тестами, а уж все возможные варианты сломаться на ошибках перебрать - сдуреть можно.
Хорошо, что в большинстве случаев можно просто с исключением свалится, главное в нем контекст, вызвавший исключение вернуть, для дальнейших разборок.