На одном местном форуме очередной гений жаловался на судьбу. Он сделал великолепную программу, а начальство требует, чтобы в ней могли разбираться другие люди. Не гениальные
( Read more... )
на самом деле если поломать код до дебаггинга со статическими типами - то всё, пиздец, бабушка приехала. Т.к. по крайней мере в скале тот пиздец что выдаётся в байткод дебажить невозможно + какие-то косяки с debug classpath даже у юнит-тестов.
по крайней мере в случае исполнения юнит-тестов из IDE.
методом подключения к внешнему процессу из sbt я не пробовал, анальным сексом я занимаюсь только на работе, а не на бесплатных курсах имени мартина одерски.
Возможно, если бы мне кто дал этим заняться, я бы придумал способ выводить диаграммы потоков данных для отладки (вместо непригодных стек-трейсов и пошаговой отладки), но мне надо прикладной софт писать, а не мир улучшать :)
Насколько понимаю, это тестируется заглушками и сравнением записанных call sequence diagram с заданными. В телефонии всё просто, там CSD - часть стандарта.
Я уже много лет не заглядываю в дебаггер, обходясь функциональными тестами и автоматическим выводом диагностики. И всё плотно покрыто проверками в assert,
Правда, мне скорость работы пофиг и важна только правильность.
Если мы обрезаем небольшую подсистему и / или небольшой участок функциональности и проверяем только их, количество вариантов ограничено. Если собрать что-то большое и начать проверять в этот момент, то тут, действительно, получится грустно.
Потом, у меня на входных данных и инвариантах стоят assert. В результате, если одна часть системы ведёт себя неожиданным образом, другая сразу же фиксирует ошибку. (Или же правильное поведение, которое ошибочно было предсказано не так, каким должно быть).
Если по ошибке сразу не видно, в чём причина, то в этом месте вырезается заглушками подсистема или участок функциональности, и см. выше.
по крайней мере в случае исполнения юнит-тестов из IDE.
методом подключения к внешнему процессу из sbt я не пробовал, анальным сексом я занимаюсь только на работе, а не на бесплатных курсах имени мартина одерски.
Reply
Возможно, если бы мне кто дал этим заняться, я бы придумал способ выводить диаграммы потоков данных для отладки (вместо непригодных стек-трейсов и пошаговой отладки), но мне надо прикладной софт писать, а не мир улучшать :)
Reply
Reply
Правда, мне скорость работы пофиг и важна только правильность.
Reply
Reply
Если мы обрезаем небольшую подсистему и / или небольшой участок функциональности и проверяем только их, количество вариантов ограничено. Если собрать что-то большое и начать проверять в этот момент, то тут, действительно, получится грустно.
Потом, у меня на входных данных и инвариантах стоят assert. В результате, если одна часть системы ведёт себя неожиданным образом, другая сразу же фиксирует ошибку. (Или же правильное поведение, которое ошибочно было предсказано не так, каким должно быть).
Если по ошибке сразу не видно, в чём причина, то в этом месте вырезается заглушками подсистема или участок функциональности, и см. выше.
Reply
Reply
Leave a comment