На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 412 413 [414] 415 416 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата korvin @
    А как вы относитесь к э-э-э... способу указания возвращаемого значения функции: переменная Result как в Delphi или инструкция return, как в остальных обсуждаемых языках? Какой способ по-вашему лучше и почему?

    Лично мне return больше по душе, чем Result, ибо второе выглядит костылеобразно, в виде какойто глобальной переменной, плюс в качестве переменной этот идентификатор уже не юзнешь...
      Ну, частенько всё равно есть какия-то локальная переменная, которой делается return.
        ExpandedWrap disabled
          mov $0x01,%eax
          ret


        :D
          Цитата KILLER @
          Лично мне return больше по душе, чем Result, ибо второе выглядит костылеобразно

          Чего в нем костылеобразного?

          Цитата KILLER @
          в виде какой-то глобальной переменной

          Вообще-то локальной.

          Цитата KILLER @
          плюс в качестве переменной этот идентификатор уже не юзнешь...

          Это да, жаль нельзя указать имя.
            Цитата korvin @
            Это да, жаль нельзя указать имя.

            ИМХО единственный минус, хотя еще в минусы можнон записать, что вместо Result, можно использовать имя функции.
            return - нагляднее
              Цитата Qraizer @
              Ну, частенько всё равно есть какия-то локальная переменная, которой делается return.

              Это да, но она локальная - это во первых, я ее могу назвать по своему усмотрению - это во вторых.

              Цитата korvin @
              Чего в нем костылеобразного?

              после запятой поясняеца.
                Result := Func(Arg); Exit; выполняет tail-call-оптимизацию?
                  Цитата KILLER @
                  Лично мне return больше по душе, чем Result, ибо второе выглядит костылеобразно, в виде какойто глобальной переменной, плюс в качестве переменной этот идентификатор уже не юзнешь...


                  Наоборот - структурному программированию досрочный выход слегка чужд

                  Добавлено
                  Цитата KILLER @
                  плюс в качестве переменной этот идентификатор уже не юзнешь...


                  А ты хочешь идентификатор Result заюзать в функции не в качестве результата, а в качестве чего-то другого? :lol: Я бы если бы такое увидел - разработчику бы руки оторвал. Это из разряда define true = false; // счастливой отладки :D
                  Сообщение отредактировано: --Ins-- -
                    Цитата KILLER @
                    1) Это да, но она локальная - это во первых, я ее могу назвать по своему усмотрению - это во вторых.

                    2) после запятой поясняеца.

                    1) Result тоже локальна вообще-то

                    2) Одно пояснение ложно, второе сомнительно.
                      Цитата --Ins-- @
                      Наоборот - структурному программированию досрочный выход слегка чужд

                      На самом деле, все зависит от того, как напишешь. Может быть чужд, а может быть гармоничен. Например, досрочный выход при некоторой проверке, при граничных вариантах, если вычисления проще и т.д.
                        Цитата D_KEY @
                        На самом деле, все зависит от того, как напишешь. Может быть чужд, а может быть гармоничен. Например, досрочный выход при некоторой проверке, при граничных вариантах, если вычисления проще и т.д.

                        То, что он лучше читается, не означает, что он перестал быть чужд структурному подходу.
                          Цитата Мяут-Настоящий @
                          Result := Func(Arg); Exit; выполняет tail-call-оптимизацию?

                          Нет..

                          Цитата korvin @
                          Какой способ по-вашему лучше и почему?

                          Мы юзаем оба:
                          ExpandedWrap disabled
                            Result := 42;
                            Exit;
                             
                            ...
                             
                            Exit(42);
                            Цитата DesweR @

                            Exit(42);

                            Интересно, не знал про этот способ. А с массивами/структурами он работает?
                              Цитата korvin @
                              Цитата D_KEY @
                              На самом деле, все зависит от того, как напишешь. Может быть чужд, а может быть гармоничен. Например, досрочный выход при некоторой проверке, при граничных вариантах, если вычисления проще и т.д.

                              То, что он лучше читается, не означает, что он перестал быть чужд структурному подходу.

                              Дело не только в чтении. Я не вижу противоречий со структурным подходом досрочного возврата из подпрограммы. Еще скажи, что и исключения мешают структурному подходу.
                              Впрочем, строго-теоретически может быть так и есть.
                                Цитата OpenGL @
                                Интересно, не знал про этот способ. А с массивами/структурами он работает?

                                Второй способ появился в 2006 версии (ну или поздней).
                                Работает со всем.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 412 413 [414] 415 416 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.6025 ]   [ 15 queries used ]   [ Generated: 29.07.26, 23:12 GMT ]