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

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

    Цитата OpenGL @
    И, таки я полагаю, что пример Qraizer-а ты уже переписал без goto и код стал понятнее?

    Запрыгиванием во вложенный for ? Во первых он привел ссылку на тему, я там в ней уже отвечал, почитай чтоль. Во вторых мне не хочеца соревноваться кто круче костыль запилит.

    Цитата OpenGL @
    Нет. Я согласен ровно с тем, что было процитировано. Портянка в тысячу строк, которую я в большинстве случаев разобью на части, из него не следует.

    Ну представь что у тебя код, который ты разделишь на функции - будет использоваться ровно один раз, выходит ты противоречишь сам себе. Ведь какой смсл выносить код в отдельную функцию, если он используется ровно один раз(ну по вашей же логике)?

    Цитата JoeUser @
    Ржу в голос! Давайте прикинем сценарий-последствие это "совета":

    Ну круто, сам написал говнокод какойто сам с него поржал, и еще обвинил меня в том, что это я такой говнокод предлагаю :facepalm:

    Добавлено
    Просто в моем понимании - функции/методы нужны для группировки некоторых инструкций по их смыслу. А в вашем понимании - вы все будете писать в одной функции в 5 тыс строк, потому что код в ней не повторяется и разделив его на функции каждая функция будет использована ровно один раз. Ну если для вас норма писать портянки - то флаг вам в руки. О чем тут еще спорить?
      Цитата KILLER @
      Тогда она в любом случае упадет до нуля, хоть с goto, хоть без него. И нужно пересматривать архитектуру программы.

      Голословное утверждение.
      Цитата KILLER @
      Запрыгиванием во вложенный for ? Во первых он привел ссылку на тему, я там в ней уже отвечал, почитай чтоль.

      В той теме ответов, показывающих ненужность goto в данном случае от тебя не было.
      Цитата KILLER @
      Во вторых мне не хочеца соревноваться кто круче костыль запилит.

      "Не хочеца" тебе в первую очередь свои слова доказывать. Ну или признать, что не получится это сделать.
      Цитата KILLER @
      Ну представь что у тебя код, который ты разделишь на функции - будет использоваться ровно один раз, выходит ты противоречишь сам себе. Ведь какой смсл выносить код в отдельную функцию, если он используется ровно один раз(ну по вашей же логике)?

      Если ты внимательно перечитаешь ту фразу, то увидешь, что там не говорится о том, что не надо выносить в отдельную функцию если код используется один раз.
      Цитата KILLER @
      Просто в моем понимании - функции/методы нужны для группировки некоторых инструкций по их смыслу.

      В моём тоже. И если этот самый смысл не позволяет отделить два-три цикла, из которых надо прыгать, в отдельную функцию (что, надо признать, бывает нечасто), то городить огород только ради религиозного требования "без goto" я смысла не вижу.
        Цитата OpenGL @
        Голословное утверждение.

        Оно ровно такое же голословное как и твое про 100500 локальных переменных и что если все это разбить на функции - читабельность упадет.

        Цитата OpenGL @
        В той теме ответов, показывающих ненужность goto в данном случае от тебя не было.

        Советую прочитать тему доконца хотя бы. Или это - Почему go to считается плохим тоном? (сообщение #2553668) не то?

        Цитата OpenGL @
        "Не хочеца" тебе в первую очередь свои слова доказывать. Ну или признать, что не получится это сделать.

        Во первых я сейчас в гостях, и не со своего компа пишу. Во вторых - функцию проще переписать с нуля, чем пихать туда костыли, но при сохранении такого же кода.

        Цитата OpenGL @
        Если ты внимательно перечитаешь ту фразу, то увидешь, что там не говорится о том, что не надо выносить в отдельную функцию если код используется один раз.

        А я тебе о чем говорю? Не дошло еще? Может сам перечитаешь с того момента, где я еще со Славяном общался по поводу этой цитаты? Как по другому еще объяснить тебе? Есть код на 5 тыс строк, ты оформляешь его в функцию, если ты его будешь дробить на функции например - то каждая функция будет использоваться ровно один раз. По вашей логике - дробить на функции такой код смысла нет, ведь все функции будут использованы один раз.

        Цитата OpenGL @
        В моём тоже.

        Сам себе противоречишь? А как же ненужность функции, если она один раз будет гдето вызвана?

        Цитата OpenGL @
        И если этот самый смысл не позволяет отделить два-три цикла, из которых надо прыгать, в отдельную функцию (что, надо признать, бывает нечасто), то городить огород только ради религиозного требования "без goto" я смысла не вижу.

        Ты привязываешься к goto. Я же исхожу из того, что его нет в принципе, и как я буду писать - бить на функции или использовать флаги или использовать условие в цикле или вообще еще как то по другому - зависит от конкретной задачи. А на сухих примерах что вы приводите - как хочешь так и делай. Хоть бей на функции, хоть вводи флаг, хоть переписывай все с нуля и по своему.
          Цитата KILLER @
          Есть код на 5 тыс строк, ты оформляешь его в функцию, если ты его будешь дробить на функции например - то каждая функция будет использоваться ровно один раз. По вашей логике - дробить на функции такой код смысла нет, ведь все функции будут использованы один раз.
          Перекручиваете! Я тоже выношу одноразовую функцию, скажем из main'а a'la вида: InitGraphics(), или GetData(); Именно потому, что они несут в себе своё качество. А вот выносить из GetData() некую GetData1() сильно тупо будет, коли это ради вывертов от goto. :yes-sad:
            Цитата KILLER @
            но ровно такое же голословное как и твое про 100500 локальных переменных и что если все это разбить на функции - читабельность упадет.

            На работе постоянно с этим сталкиваюсь. Но у нас своя специфика - пишем гидродинамические симуляторы. Какой-то отдельный логически неделимый этап симуляции, включающий в себя достаточно много вычислений и написанный в виде метода, внутри которого немало локальных переменных - обычное дело.
            Цитата KILLER @
            Советую прочитать тему доконца хотя бы. Или это - Почему go to считается плохим тоном? (сообщение #2553668) не то?

            Не то. У тебя там внутренний цикл вообще только один раз выполнится :)
            Цитата KILLER @
            Во первых я сейчас в гостях, и не со своего компа пишу. Во вторых - функцию проще переписать с нуля, чем пихать туда костыли, но при сохранении такого же кода.

            Ну так я не прошу прямо сейчас :-? Просто говорить, что легко переписать, и при этом добавлять, что не собираешься это делать как-то некрасиво.
            Цитата KILLER @
            А я тебе о чем говорю? Не дошло еще? Может сам перечитаешь с того момента, где я еще со Славяном общался по поводу этой цитаты? Как по другому еще объяснить тебе? Есть код на 5 тыс строк, ты оформляешь его в функцию, если ты его будешь дробить на функции например - то каждая функция будет использоваться ровно один раз. По вашей логике - дробить на функции такой код смысла нет, ведь все функции будут использованы один раз.

            :facepalm: Ещё раз. Использование кода в одном месте не является поводом его не-вынесения в отдельную функцию. Это фразе не противоречит.
            Сообщение отредактировано: OpenGL -
              Цитата Славян @
              Перекручиваете!

              Я то? Это скорее вы отнекивайтесь от своих же слов:
              Цитата Славян @
              Цитата
              Ну а если у тебя функция длинная предлинная, а выносишь ты то, что будет использованно ровно 1 раз, то и выносить незачем?

              Да, незачем.

              И далее:
              Цитата Славян @
              Цитата
              И пусть у меня функция будет на 5 тысяч строк - верно все?

              Агу!


              Добавлено
              Цитата OpenGL @
              Ещё раз. Использование кода в одном месте не является поводом его не-вынесения в отдельную функцию. Это фразе не противоречит.

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

                Так тут о том и твердят, что это религиозная заморочка, отсутствие которой иногда может помочь написать более читабельный код :)

                Добавлено
                Цитата KILLER @
                Ну так еще раз прочти хотя бы предыдущую цитату мою, адресованую славяну.

                Если я согласен с какой-либо одной фразой Славяна, то это не означает, что я буду согласен и с остальными :)
                  Цитата KILLER @
                  Я то? Это скорее вы отнекивайтесь от своих же слов
                  Вы, KILLER, сильно нечестно поступаете! :angry:
                  1.У меня там были короткие предложение, а вы выдернули токмо слово, на кое и стали нападать. Фу.
                  2.Я не отнекиваюсь, а подтверждаю, что "выносить незачем", но если код видится особым - вполне можно. И коли функция на 5 тысяч строк, которые делают большую, сложную, но одну работу, то дробить её ради дробления - пустая работа, больше мешающая, нежели чему-то способствующая.
                    Я не религиозен, но ни разу ни в одном языке высокого уровня не юзал goto, как-то не нужно было.
                      Цитата applegame @
                      Я не религиозен, но ни разу ни в одном языке высокого уровня не юзал goto, как-то не нужно было.
                      Так сейчас и идёт в мире пропаганда отказа от этого слова. Даже где-то его и вовсе нет (то ли в Яве, то ли ещё где-то). Вот так вот и вырастут новые поколения людей, вынужденные писать код без такой изредка прекрасной способности! Это как исполняемые данные (DEP в винде, кажется): стараются от этого избавиться, а с ними во времена DOS/ASM'а было сверхпрекрасно!.. :'(
                        Цитата applegame @
                        Я не религиозен, но ни разу ни в одном языке высокого уровня не юзал goto, как-то не нужно было.

                        Ты Си и С++ относишь к языкам высокого уровня?
                          Цитата вики
                          C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков.
                            Я бы не стал тут опираться на вики. По этому вопросу мнения расходятся.
                              Цитата D_KEY @
                              Я бы не стал тут опираться на вики. По этому вопросу мнения расходятся.
                              хор. :blush:
                                Цитата D_KEY @
                                Ты Си и С++ относишь к языкам высокого уровня?
                                Ага. Не претендую на определение ЯП, но эти языки тоже имел в виду. Но таки соврал, еще в школе программируя на васике юзал goto. :)
                                Сообщение отредактировано: applegame -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (32) « Первая ... 10 11 [12] 13 14 ...  31 32


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0608 ]   [ 15 queries used ]   [ Generated: 7.05.24, 19:56 GMT ]