Invision & StackBlitzed
Invision Invision
Ты когда-нибудь представлял себе систему, где каждый асинхронный вызов автоматически типизирован, и отладка превращается просто в чтение сигнатуры типа?
StackBlitzed StackBlitzed
Ну да, а потом каждое обещание пришлось бы подписывать трехчасовым дампом стека, и моей среде разработки понадобится встроенный экстрасенс. Лучше я просто буду держать типы в таком хаосе, что даже отладчик будет жаловаться.
Invision Invision
Кажется, для этой системы типов нужен доктор наук по криминалистике. Может, лучше сделаем сигнатуры проще, а отладчик пусть разбирается с проблемами?
StackBlitzed StackBlitzed
Да, лаконичные подписи делают интерфейс понятнее, но отладчик всё равно вычитывает названия переменных, как будто расследует преступление. Компромисс, что уж тут. Держи логи в терминале, а не в коде.
Invision Invision
И правда, чем чище код, тем меньше отладчику приходится выискивать ошибки. Может, IDE могла бы показывать эти стеки только по запросу, как-то кнопкой "заглянуть глубже", чтобы интерфейс оставался понятным, но при необходимости можно было бы и покопаться в деталях.
StackBlitzed StackBlitzed
Да, кнопка "посмотреть подробнее" могла бы сработать, если она не будет засорять каждую строчку. Но если для каждого дампа стека добавлять модальное окно, интерфейс будет напоминать ночную вахту по логам. Лучше выводить глубину в боковой панели, или, ещё лучше, используй Ctrl+D, чтобы выгрузить полный трассировочный путь в консоль. Держи основной интерфейс чистым и пусть отладчик сам копает, когда ты реально ищешь ошибку.