Re[7]: Go
От: SkyDance Земля  
Дата: 08.05.24 16:22
Оценка:
SD>> Пишут во всякие там глобальные переменные
CC>Ты забываешь про диск, сеть, shared memory, etc

То есть те самые side effects. Ты серьезно сейчас о коде на языке Go, который полон такой дряни? Впрочем, и на любых других языках подобный кошмар не поощряется.

CC> Куда именно — знает только функция дайте_мне_чего_то_там у себя внутри.


Но она же знает каждый раз ОДИНАКОВО, то есть БЕЗ side effects? Стало быть, повторяя ТОТ ЖЕ запрос, ты получаешь ТОТ ЖЕ ответ? Если нет, то тут уже тебе не искючения нужны, а полная запись трейса (для чего существуют инструменты типа tracing debugger, но из применение ограничено только таким софтом, где есть реальные причины делать функции с побочными эффектами).

CC>Т.е. ошибка таки ловится на каждой подфункции а не где то вверху со всех скопом?


Только в функциях, которые вызывают побочные эффекты (то есть их поведение не детерминировано). При грамотном проектировании этих функций крайне мало, а то и вовсе нет. Многие мощные языки программирования (особенно функциональные) только так и предлагают работать. Это намного эффективнее, чем заниматься идиотизмом дебаггинга недетерминированного поведения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.