На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (32) 1 2 [3] 4 5 ...  31 32  ( Перейти к последнему сообщению )  
> goto vs break & continue , Кроха-сын пришел к отцу и спросила кроха: "goto - это хорошо?"
    Цитата korvin @
    Цитата OpenGL @
    Не в c++ то же самое можно сделать через try/finally.

    AFAIK, это заметно дороже, чем Go to

    В скалке, к примеру, даже break сделан через исключения(в библиотеке) :)
      Цитата Red @
      Можно захватить.
      Это если end через лямбду делать. Или еще как-то можно?
        Цитата D_KEY @
        В скалке, к примеру, даже break сделан через исключения(в библиотеке) :)

        Ну я конкретно про C++ говорил. А в скале есть Goto ("честный", а не через исключения реализованный =))?
          Цитата korvin @
          Цитата D_KEY @
          В скалке, к примеру, даже break сделан через исключения(в библиотеке) :)

          Ну я конкретно про C++ говорил. А в скале есть Goto ("честный", а не через исключения реализованный =))?

          Нет. И это логично, раз у них нет даже break.
          Зато у них есть чертов finally, который смотрится еще более убого, чем в других языках, поскольку try ... catch ... finally является выражением :wall:
            Цитата D_KEY @
            Зато у них есть чертов finally, который смотрится еще более убого, чем в других языках, поскольку try ... catch ... finally является выражением

            Они ещё не запилили свой with? :huh:
              Цитата MyNameIsIgor @
              Они ещё не запилили свой with? :huh:

              Ну он, в принципе, легко делается руками.
                Вы тут понапредлагали и RAII и отдельной функцией и лямбдой. Вопрос: зачем? Самый понятный и читабельный вариант с goto. Какой смысл избавляться от goto исключительно ради избавления от goto? Лично мне религия позволяет изредка использовать его.
                  Цитата applegame @
                  Вы тут понапредлагали и RAII и отдельной функцией и лямбдой. Вопрос: зачем? Самый понятный и читабельный вариант с goto. Какой смысл избавляться от goto исключительно ради избавления от goto? Лично мне религия позволяет изредка использовать его.
                  Никогда с goto не получается ни понятно, ни читабельно. Получается абсолютно write-only код для понимания которого нужно прогонять его в отладчике снова и снова с целой кучей кейсов. Да ещё и на бумажке чертить, что в каком случае происходит. За такое нужно гнать с работы!
                    Цитата applegame @
                    Вы тут понапредлагали и RAII и отдельной функцией и лямбдой. Вопрос: зачем? Самый понятный и читабельный вариант с goto. Какой смысл избавляться от goto исключительно ради избавления от goto? Лично мне религия позволяет изредка использовать его.

                    Почему-то с RAII получается без всяких goto, хотя специально его не избегаю, но всё равно не приходится использовать.
                    Сообщение отредактировано: MyNameIsIgor -
                      Цитата Повстанець @

                      Никогда с goto не получается ни понятно, ни читабельно. Получается абсолютно write-only код для понимания которого нужно прогонять его в отладчике снова и снова с целой кучей кейсов. Да ещё и на бумажке чертить, что в каком случае происходит. За такое нужно гнать с работы!
                      Что в коде на предыдущей странице было непонятного? Все читабельно, а если еще и комментариев добавить, то даже проще чем RAII будет.
                        Цитата OpenGL @
                        проще чем RAII будет.

                        Дело не только в простоте, сколько в надежности. Чем меньше человеческого фактора, тем лучше.
                          Цитата OpenGL @
                          Что в коде на предыдущей странице было непонятного?
                          Это в этом чтоли?
                          Цитата applegame @
                          int foo() {
                          ...
                          goto end;
                          ...
                          goto end;
                          ...
                          goto end;
                          ...
                          end:
                          ...
                          return;
                          }
                          Ну давай посмотрим. В том виде, как он есть сейчас:
                          Цитата applegame @
                          int foo() {
                          ...
                          goto end;
                          ...\\никогда не выполнится
                          goto end;\\никогда не выполнится
                          ...\\никогда не выполнится
                          goto end;\\никогда не выполнится
                          ...\\никогда не выполнится
                          end:
                          ...
                          return;
                          }
                          Я конечно подозреваюю, что эти goto содержатся внутри циклов и ветвей условий. Вот собственно так и получается write-only код, который при командной разработке не стоит ровным счётом ни-хе-ра.
                            Цитата D_KEY @
                            Дело не только в простоте, сколько в надежности. Чем меньше человеческого фактора, тем лучше.
                            Ну это да. Но опять-же, мое имхо - к RAII не всегда можно привести. И да, предчувствуя вопрос :)
                            Цитата OpenGL @
                            Цитата D_KEY @
                            А примерчик можешь привести?
                            Сейчас сходу нет. Давно это было, а в текущем проекте все нормально в этом плане. Вспомню/найду - выложу.
                              :D
                                Цитата Повстанець @
                                Я конечно подозреваюю, что эти goto содержатся внутри циклов и ветвей условий. Вот собственно так и получается write-only код, который при командной разработке не стоит ровным счётом ни-хе-ра.

                                С чего ты взял? Потому что так написано в умной книжке? goto нормально можно применять, в некоторых случаях, его не нужно применять всегда и всюду. Его нужно применять там где он будет предпочтительнее. Ничего плохого в нем не вижу.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (32) 1 2 [3] 4 5 ...  31 32


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0436 ]   [ 15 queries used ]   [ Generated: 8.05.24, 03:09 GMT ]