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