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


    Вынужден Вас разочаровать - Ваш проект MFC не является прогой, решающей конкретную задачу. Так что сравнение неадекватно.
      Цитата KILLER @
      И пусть у меня функция будет на 5 тысяч строк - верно все?
      Агу!
      Цитата KILLER @
      Если они используются? Если да, то кто тебе такое сказал?
      Не "они", а "она", и не "используются", а "используется"! Но если вы про то, что много функций тоже используется, то - да, не надо выносить, ничему это не помогает. Это я вам свои ощущения пишу; соц. опрос не проводил, а по коду товарищей многократно видел, что те одноразовый блок в фунцию не выносили.
      Цитата KILLER @
      Конкретно вот в этой - вообще никакого смысла нет. Какие то три точки и возвращается непонятная переменная
      Ясно. Вечер наступил. Ладно, прерываемся. :oops:
        Цитата p1qb0d @
        Вынужден Вас разочаровать - Ваш проект MFC не является прогой, решающей конкретную задачу. Так что сравнение неадекватно.

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

        Цитата Славян @
        Агу!

        Все ясно.

        Цитата Славян @
        Не "они", а "она", и не "используются", а "используется"!

        А вы в русском языке изучали множественное число? Или хотя бы поглядеть что я коментировал - религия не позволяет?:
        Цитата Славян @
        Читабельность от разных непонятных функций не растёт

        Точно не "они", а "она"? Ты грузин чтоль?

        Цитата Славян @
        что много функций тоже используется

        А я понял - функции используется! Нужно будет запомнить. Даже не так, "они(функции) используется"! :good:

        Цитата Славян @
        Это я вам свои ощущения пишу; соц. опрос не проводил, а по коду товарищей многократно видел, что те одноразовый блок в фунцию не выносили.

        А кем ты работаешь, если не секрет?
        Сообщение отредактировано: KILLER -
          :facepalm:
            <_<
              Цитата KILLER @
              Так зачем входить во вложенный цикл минуя предыдущие?
              А вот понабилось как-то. Если очень кратко – во времена DOS очень долго, как выяснилось, работающую программку захотелось по запросу прекращать с сохранением прогресса, ну и при повторном запуске восстанавливать состояние. Программка была одноразовая и сугубо для себя, я уже не помню даже, что она делала, может быть обходила все файлы по всем каталогам всех разделов и тестила студенческий лабораторный архиватор Шеннона-Фано, а может быть считала количество счастливых билетов. Но там было поболе трёх вложенных циклов со стартовыми счётчиками во внутренних, зависящими от текущих счётчиков внешних. Исходники за ненадобностью благополучно почили, но по памяти я воссоздал структурку программы вот тут. Там дальше приведён и структурный вариант... но вот найдётся ли кто-нибудь, кто скажет, что вариант без goto понятнее? <_< Не говоря уже о производительности.
              И тем более о времени разработки сего шедевра дизайнерской мысли. Структурный вариант правки под "хибернет" не был написан тогда вообще, ещё в 90-ых, в течение 20 минут и нескольких итераций отладка/размышлизмы/кнопкодавство/компиляция. Тупо мозгов не хватило. Посему на структурность было забито, и на вариант с goto ушло 30 секунд, из которых 20 – удаление структурной шелухи, и его даже отлаживать не пришлось. Сейчас вот, относительно недавно, структурность была реализована за 10 минут и 3 отладочных сеанса.
              Заодно могу предложить ещё одну тему для холивара: предложите наиболее удачный вариант реализовать "хибернет" в рамках вашего приложения. Сразу предупреждаю, что речь не идёт о том, чтобы переделать существующее приложение, ресь о том, чтобы "хибернет" заранее заложить в архитектуру.

              Добавлено
              P.S. KILLER, та ты ж должен помнить ту тему, ты же в ней участвовал.
                Цитата Qraizer @
                А вот понабилось как-то. Если очень кратко – во времена DOS очень долго, как выяснилось, работающую программку захотелось по запросу прекращать с сохранением прогресса, ну и при повторном запуске восстанавливать состояние. Программка была одноразовая и сугубо для себя, я уже не помню даже, что она делала, может быть обходила все файлы по всем каталогам всех разделов и тестила студенческий лабораторный архиватор Шеннона-Фано, а может быть считала количество счастливых билетов. Но там было поболе трёх вложенных циклов со стартовыми счётчиками во внутренних, зависящими от текущих счётчиков внешних. Исходники за ненадобностью благополучно почили, но по памяти я воссоздал структурку программы вот тут. Там дальше приведён и структурный вариант... но вот найдётся ли кто-нибудь, кто скажет, что вариант без goto понятнее? <_< Не говоря уже о производительности.

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

                Цитата Qraizer @
                P.S. KILLER, та ты ж должен помнить ту тему, ты же в ней участвовал.

                Почитал - да, судя по всему учавствовал в ней. Но не помню хоть убей :-? Всетаки 5 лет назад было дело... :scratch:

                Добавлено
                Цитата Qraizer @
                Структурный вариант правки под "хибернет" не был написан тогда вообще, ещё в 90-ых, в течение 20 минут и нескольких итераций отладка/размышлизмы/кнопкодавство/компиляция. Тупо мозгов не хватило. Посему на структурность было забито, и на вариант с goto ушло 30 секунд, из которых 20 – удаление структурной шелухи, и его даже отлаживать не пришлось.

                Когда сроки жмут, а задачу нужно сделать, и ничего в голову другого не приходит - это прастительно. Но это всеравно будет костылем. Это сугубо исключительные случаи, и комент там писать обязательно нужно начинающийся с //! TODO

                Добавлено
                Цитата Qraizer @
                Заодно могу предложить ещё одну тему для холивара: предложите наиболее удачный вариант реализовать "хибернет" в рамках вашего приложения. Сразу предупреждаю, что речь не идёт о том, чтобы переделать существующее приложение, ресь о том, чтобы "хибернет" заранее заложить в архитектуру.

                Что за хибернет? У меня это слово асоциируется с джавовской приблудой, с помощью которой можно с БД работать, генерируя код из xml файлов... :scratch:
                Сообщение отредактировано: KILLER -
                  Вот это вот самое. Hibernate - "спящий режим". Некоторые программульки имеют такую фичу. Я встречал во всякоразных паролеломалках. Можно стукнуть в "Сохранить" и ребутнуть машину, чтобы, например, винда апдейты применила, а потом включить и "Продолжить" себе на здоровье. Почему-то не вижу подобной фичи в видеоконверторах, которые тоже зачастую как начнут тромбить FRAPSовое часовое HD-сграбленное в H264, так на 4-ёх ядрах с DXVA на GTX660 можно часа на 4 получить 100% напряг CPU и GPU.
                  Я вот вдоволь насмотрелся на спидометры и графики в Мониторе Ресурсов за три месяца, в течении которых пополнял свой канал DOOM-ом. И ладно б хоть можно было бы оставить тромбиться и пойти спать, так нифига: есть кнопка "по окончании выключить компьютер", а про "усыпить по окончании" ни слова. И на кой хрен мне машину тушить, спрашивается, если она месяцами не ребутается, ибо три-четыре учётки постоянно залогинены, а комп совместно с WinAMPом работает будильником?
                  Сообщение отредактировано: Qraizer -
                    Цитата KILLER @
                    Заведи флаг выхода. В чем проблема?

                    И это всегда будет более читабельней, чем простой goto? Сильно сомневаюсь.

                    Добавлено
                    Цитата Славян @
                    Мы выносим f(x), если её описание длинно, а пользоваться ею придётся не раз, скажем. Аналогично с классами (POINT и т.п.). А вот выносить из функции функцию лишь бы не было goto - однократное занятие, потому и искусственное, а значит - неправильное.

                    ++
                      Цитата OpenGL @
                      Цитата KILLER @
                      Заведи флаг выхода. В чем проблема?

                      И это всегда будет более читабельней, чем простой goto? Сильно сомневаюсь.

                      Добавлено
                      Цитата Славян @
                      Мы выносим f(x), если её описание длинно, а пользоваться ею придётся не раз, скажем. Аналогично с классами (POINT и т.п.). А вот выносить из функции функцию лишь бы не было goto - однократное занятие, потому и искусственное, а значит - неправильное.

                      ++

                      Да - это будет всегда лучше читабельней, чем goto. Я же нкписал - дроби на функции, если теняется читабещьноать с флагом. Факт в том - что менее читабельней будет с goto, чем без него. А ты пытаешься прицепиться конкретно к флагу. И ставишь вопрос так, что кроме флага - я больше ничего не предлагаю.

                      По поводу твоего ++, тоже поддерживаешь портянки на нескглько тыс. строк? Ведь славян именно это в т.ч. имел, там под чем ты подписался.

                      Добавлено
                      я в автобусе еду. набираю с телефона. Так чьто сорь за мой китайский. лень править.
                        Цитата KILLER @
                        По поводу твоего ++, тоже поддерживаешь портянки на нескглько тыс. строк? Ведь славян именно это в т.ч. имел, там под чем ты подписался.
                        Попытку склонить OpenGL'я на свою сторону, перевирая да унижая код 'портянками', чую я... :popcorn:
                          у него своего мнения нет чтоль?
                            Цитата KILLER @
                            у него своего мнения нет чтоль?
                            Конечно есть, к чему сей риторический вопрос? Просто заплёвывая чужой код/схему вы пытаетесь затащить человека к себе. Нечестно же. :blush:
                              Цитата KILLER @
                              Да - это будет всегда лучше читабельней, чем goto. Я же нкписал - дроби на функции, если теняется читабещьноать с флагом.

                              Если внутренний цикл использует 100500 локальных переменных - читабельность упадёт до нуля.
                              И, таки я полагаю, что пример Qraizer-а ты уже переписал без goto и код стал понятнее? :D
                              Цитата KILLER @
                              По поводу твоего ++, тоже поддерживаешь портянки на нескглько тыс. строк?

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

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

                                "Плохая программа"

                                ExpandedWrap disabled
                                  void PreCompile() {}
                                  void Compile() {}
                                  void PostCompile() {}
                                   
                                  int main()
                                    PreCompile();
                                    Compile();
                                    PostCompile()
                                    return 0;
                                  }


                                ... допустим в каждой функции есть выходы из 2-3-4-вложженых циклов. В результате совета мы должны получить:

                                "Отличная программа"

                                ExpandedWrap disabled
                                  void PrePreCompile_1() {}
                                  void PrePreCompile_2() {}
                                  void PrePreCompile_3() {}
                                   
                                  void PreCompile() {
                                    PrePreCompile_1();
                                    PrePreCompile_2();
                                    PrePreCompile_3();
                                  }
                                   
                                  void Compile_1() {}
                                  void Compile_2() {}
                                  void Compile_3() {}
                                   
                                  void Compile() {
                                    Compile_1();
                                    Compile_2();
                                    Compile_3();
                                  }
                                  void PostCompile_1() {}
                                  void PostCompile_2() {}
                                   
                                  void PostCompile() {
                                    PostCompile_1()
                                    PostCompile_1()
                                  }
                                   
                                  int main()
                                    PreCompile();
                                    Compile();
                                    PostCompile()
                                    return 0;
                                  }


                                :thanks: Это ж надо еще литературным жанром обладать, чтобы дать осмысленные названия искусственно раздробленным программным сущностям. Одно радует - GOTO НЕ ПРОЙДЕТ!!! :crazy:
                                Сообщение отредактировано: JoeUser -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (32) « Первая ... 9 10 [11] 12 13 ...  31 32


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