Здравствуйте, Sheridan, Вы писали:
ARK>>>>Строго вниз, строго вверх, нестрого назад — не имеет значения. Это разные ветки управления.
S>>>С этого места поподробнее: с какого времени порядок следования инструкций перестал иметь значение?
ARK>>Секунду, причем тут порядок следования инструкций?
S>S>Строго вниз, строго вверх, нестрого назад — не имеет значения.
Ну вы представляете, что такое структурное программирование?
Понимаете, что "порядок следования инструкций" и "направление безусловного перехода" — это вещи не связанные?
S>>>А чего это забываем, что эти функции вызывать, обернув if'ами?
ARK>>С того, что их не надо оборачивать if'ами. В изначальном коде про if'ы ничего не было. Мой вариант полностью эквивалентен вашему первому варианту.
S>Дааа? switch у меня обрабатывает условие, а не if. Или ты не в курсе, что свич по условию работает?
Причем тут "switch у меня обрабатывает условие"?
У вас нет _вызова_ функции и в вашем коде нет ничего, что указывало бы на то, откуда этот флаг берется.
S>>>Неужели ты будешь жертвовать читабельностью кода, будешь запутывать код только ради того чтобы свитч не применять? Да ладно?
ARK>>Я использую switch, когда надо. Но всегда без переходов в соседние ветки.
S>В подавляющем большинстве случаев его так и используют
Нет, в подавляющем большинстве случаев его так не используют.
S>>>Более того, добавляем еще три флага и рисуем еще три функции? Еще больше запутываем?
ARK>>Флаги это вообще зло. И если мы "добавляем еще три флага", то это повод задуматься о рефакторинге говнокода.
S>Да и код вообще зло. Лучше на канары, правда?
Демагогия. Могу только лишь еще раз сказать, что флаги — это зло.
ARK>>Кстати, а если мы вдруг заходим добавить в DoFullWork в самом конце еще Print (но не в doOptimizedWork и не в justDoIt)?
S>Про подобные варианты разворачивания событий я писал уже давноАвтор: Sheridan
Дата: 27.08.15
S>S>Я в курсе, что когда возразить нечего — один из вариантов попробовать положить соперника на лопатки — усложнять задачу до тех пор, пока собеседник не скажет "В этом случае да, мой инструмент не подходит". Обычно после этого инструмент соперника объявляется гавном.
Да-да. А кто начал усложнять про "добавляем еще три флага"? "Не лучше ль, кума, на себя оборотиться?" (с)
ARK>>>>UPD. Сейчас посмотрел, в Java и JavaScript break необязателен, хотя мне казалось, что был обязателен. Теперь я знаю 4 языка с таким оператором.
S>>>Проверил? Да ладно? о0
S>>>Я вот действительно проверил
ARK>>И? Результат проверки чем-то отличается?
S>По поведению от c\c++? Нет. О чём я тебе и говорил
Так вот, языков таких мне известно 4 штуки. Языков с другим поведением — гораздо больше.
ARK>>По сути есть что сказать?
S>По сути я только и говорю. А у тебя?
По сути: C#, Go, Ruby, Pascal, Ada, Eiffel — обладают семантикой, отличной от C/C++.