goto не плохой и не хороший. Это инструмент, у которого есть своя ниша, которой даёт определенный выигрыш в определенной ситуации. Склонность повторять безапеляционные высказывания религиозного толка - типа Х - плохо, его никогда нельзя использовать - признак недостатка опыта. Опытный разработчик должен уметь использовать весь арсенал доступных ему приемов и средств в оправданных местах для достижения баланса компромиссов и цели. А цель - не SOLIDу следовать, а продукт сделать.
Сорян, что высокопарно получилось, но хотелось поддержать Олега в неравной борьбе 😉
А цель - не SOLIDу следовать, а продукт сделать
Цель сделать поддерживаемый и расширяемый продукт, чему goto откровенно мешает. Поскольку код мы пишем для людей, а людям goto не нужен.
Хотя я не очень проблемы понимаю наверно, вроде в байткоде все равно выход с цикла завершается goto и все мы его неявно используем. )