Змея / Говнокод #12317 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
def run(self):
        count = 0

        while True:
            if count < 5:
                self.saveUsers(self.queue.get())
                count += 5
            else:
                GlobalConfig().setUsers(self.db.selectUsers())
                count = 0

        self.db.close()

bool не нужен!

Запостил: voice voice, (Updated )

Комментарии (78) RSS

  • А из цикла он выйдет по исключению?

    P.S. А бул и правда не нужен:
    def run(self):
        count = 0
        while True:
            self.saveUsers(self.queue.get())
            GlobalConfig().setUsers(self.db.selectUsers())
        self.db.close()
    Ответить
    • у потока есть свойство daemon. Если оно True, тогда поток убьётся при завершении скрипта.
      Правда, self.db.close не выполнится ни при каком раскладе.

      А если queue - это синхронная queue, умеющая приостанавливать поток, то и базу особо насиловать не будет...
      Ответить
  • есть народ которые так любит писать. не знаю почему.

    то как оно сверху оно конечно сафсем гавно, но знаю пару челов которые такое спокойно напишут с switch/case'ом и count'ом прыгающим между 0 и 1. если их спросить "ы?" как правило отвечают "а вдруг еще что-то надо будет в цикл добавить."

    в общем, я думаю что это уже второе поколение программистов растет которое не умеет пользоватся машинами состояний. позже они их сами изобретают - и код вырождается в нечто подобное вышеописанному.
    Ответить
  • def run(self) для начала не нужен, конструктор thread принимает замыкание, макаки ёбаные.
    Ответить
    • Если есть данные, ассоциируемые с потоком, то имеет смысл отнаследоваться от Thread() и хранить их в полях объекта, как сделал автор кода. Так аккуратнее.
      Для нелюбителей есть возможность передать аргументы телу потока.
      Ответить
      • А зачем?

        Для параметров есть дополнительные параметры args и kwargs. Наследование Thread - явоидное говно, связанное с тем, что java cannot into closures. В фитоне не нужно. Назовите хоть одну причину, зачем это нужно.
        Ответить
        • Ну это скорее вопрос вкуса.
          Навскидку: в нескольких точках программы создаем однотипные потоки. Можно вынести код создания потока в функцию-фабрику, а можно отнаследоваться и задать параметры потока (например тот-же daemon) в конструкторе.
          Или если поток должен работать со слабой ссылкой на внешние данные, то при передаче параметров эту самую ссылку придется создавать вызывающему, а при наследовании эти данные можно бросить как есть конструктору: он создаст слабую ссылку, сохранит в поле, а его собственная сильная ссылка исчезнет, когда конструктор завершит работу.

          Вообще я применяю оба подхода: стандартный Thread для разовых действий, наследование для ситуаций с несколькими однотипными потоками-worker'ами.
          Ответить
          • По первому: можно и с функциями так сделать, а параметры передавать через, внезапно, параметры. Со слабыми ссылками никогда не встречался.

            Кстати, можно было бы писать
            Thread(target=labmda: func(a, b, c=d))

            если бы в питоне лямбды нормально работали.
            Ответить
            • Я имел ввиду параметры конструктора и свойства объекта Thread. Тe же Thread.name, Thread.daemon. Не уверен что их можно изменять после вызова Thread.start(), а если изменять вручную после создания экземпляра Thread, то приходим к описанной мной ситуации: фабрика или наследование.
              Ответить
              • (x) -> { System.out.println(x); }
                превращает в
                new some_shit {
                    @override
                    void other_shit(int x) {
                        System.out.println(x);
                    }
                }
                ?
                Ответить
                • Да, если в анонимном классе только один метод. Что, таки православный STL/Boost нэйминг проник в твой джавокутишный мозг так глубоко, что стал употребляться в жабокоде?
                  Ответить
                  • > стал употребляяться в жабокоде
                    Упс, спалился. Вредно писать в одно окно код, а в другое говнокод. Языки начинают влиять друг на друга.
                    Ответить
                  • > проник в твой джавокутишный мозг
                    я это тоже подметил, но не стал спугивать клиента
                    один уже по уши в крестах, другой измазался в православном стиле
                    так победим!
                    Ответить
                    • То, что все люди - латентные крестобляди - не означает, что это нормально, может это как раз древние вредные проявления, с которыми надо бороться.
                      Ответить
                      • все крестобляди давно занимаются этим современно, в мягких чистых постелях, безопасно, и ни в каких изощренных фантазиях себе не отказывают

                        и только некоторые сатанисты прелюдно порицают, но сами продолжают брезгливо этим заниматься на скотном дворе, в говне, с гандонами из свиной кишки, и походу, гордятся этим
                        Ответить
                    • > так победим!
                      крестоносцы начали крестовый поход во имя веры
                      они несут её в массы
                      Ответить
              • Так оно еще и не кроссидешно?

                Ололо жавамакаки, им язык нормально писать не дает, так они придумывают свои define с замыканием на одну ide.
                Ответить
                • >они придумывают свои define с замыканием на одну ide.
                  Это фолдинг обычный.

                  > им язык нормально писать не дает
                  Иди лучше продолжай портировать на 3-ю версию.
                  Ответить
                  • >Это фолдинг обычный.
                    Похуй, что это, главное, что работает в одной IDE.

                    >Иди лучше продолжай портировать на 3-ю версию.
                    Да у тебя же C#.

                    А мне лично ничего своего портировать не надо. Тут у других проблемы есть, вроде того, что в XBMC стоит питон 2,6 и попробуй этих макак уговори хотя бы 2,7 поставить, чтобы json искаропки был.
                    Ответить
                    • >Похуй, что это, главное, что работает в одной IDE.
                      С чего ты взял?
                      В NetBeans тоже похожее запилили. В эклипсе плагин есть.

                      >Да у тебя же C#.
                      У меня обратно совместимая Java. Именно шарперам и надо больше остальных думать о установке новых .net.
                      Ответить
                      • >Фолдинг можно настроить в любой среде
                        Пофиксил. Трахайся дальше.
                        ----
                        А, так фолдинг - это просто скрытие "нинужного" текста? Жавамакаки, по костыльности вы уделали, все, что я до этого знал.

                        Если тебе посреди квартиры насрать, то ты газеткой накроешь и будешь вокруг ходить? Ололо, ололо.
                        Ответить
                        • Ебать ты ишак. Только что рассказывал про "работает в одной IDE".
                          >А, так фолдинг - это просто скрытие "нинужного" текста
                          Омг. На говнокоде только что было совершено эпохальное открытие!

                          А когда пифон из одной строчки тебе сгенерирует тормозную кучу нативного говнокода, ты тоже туда лезешь дизасмом и смотришь?
                          Ответить
                          • Значит, я твое бульканье на энгруском не понял. Какая трагедия.

                            Любая макака должна понимать, что у языков есть сфера применения и работу с бинарными данными фитону лучше не доверять. Однако, пока в жабе думали, что поддержка foreach, появившегося в 2004 году, нинужна, фитон с 2004 развился очень и очень сильно и вообще стал похожим на язык, а не на нагромождение дико текущих абстракций, которые без знания деталей реализации невозможно понять. А вот жавоиды до сих пор в стазисе сидят.
                            Ответить
                            • Какое вообще отношение foreach и 2004 год имеют к замыканиям?

                              >Любая макака должна понимать, что у языков есть сфера применения

                              Этот аргумент применяется обычно когда маячит слив в споре.
                              И в данном случае действительно бессмысленно сравнивать динамику со статикой. Думаю ты и сам это понимаешь.
                              Ответить
                              • Лол, слив по фичам языка маячит как раз вам.

                                Где замыкания?
                                Где лямбды?
                                Где литералы для хеш-массивов?
                                Классы - не first class object.
                                Кое-кто до сих пор принципиально не поддерживает foreach, появившийся в 2004.
                                Где хеш-аргументы?
                                Где switch с любым хешируемым типом (о да, string захуярили в 1,7, говоришь? когда это было)?
                                Где properties? Геттеры/сеттеры генерировать не заебешься?
                                new LoggerHandlerFabricFabric.getFabric().fabric().addLogListener(new ListenerFabricFabric.getFabric().fabric())

                                >И в данном случае действительно бессмысленно сравнивать динамику со статикой. Думаю ты и сам это понимаешь.
                                Отлично, половина из вышенаписаного есть в C#.
                                Ответить
                                • ололо в сишке вообще ничего нет даже сборщика мусора язык говно только дураки на нём пишут трололо

                                  Когда уже из питона GIL выпилят?
                                  Ответить
                                  • На сишные модули гил не распространяется.

                                    Уже достигли максимального отступа?
                                    Ответить
                                    • > На сишные модули гил не распространяется.
                                      Чтобы распараллелить питоний код просто перепишите его на си.
                                      Ответить
                                      • >Чтобы распараллелить питоний код просто перепишите его на си.
                                        Пардон, а чего ты хочешь от динамического языка? Скорости? Питоний код тормозит так, что параллелизацией не всегда спасешься. И да, проблема есть, но мне лично не мешает - я на нем хайлоад не пишу. Для хелловорлда по всякому лучше явы.
                                        Ответить
                                • >Где замыкания?
                                  >Где лямбды?
                                  С 96-го года. Называется anonymous class.

                                  >Кое-кто до сих пор принципиально
                                  Кто?
                                  >не поддерживает foreach, появившийся в 2004.
                                  Какой foreach?

                                  >(о да, string захуярили в 1,7, говоришь? когда это было)?
                                  Зря кстати.

                                  >Где switch с любым хешируемым типом
                                  Не нужен. Нужен нормальный свитч с диапазонами.

                                  >Где properties? Геттеры/сеттеры генерировать не заебешься?
                                  Сахар. Не нужно.

                                  >Отлично, половина из вышенаписаного есть в C#.
                                  Всё, и даже больше есть в скала.

                                  Кстати он (mono) по скорости сливает не только JVM, но даже компилированому js.
                                  Ответить
                                  • >С 96-го года. Называется anonymous class.
                                    КОСТЫЛЬ. Слив #1

                                    >Кто?
                                    http://forum.vingrad.ru/index.php?showtopic=348566&view=findpost &p=2474183
                                    На, сосни.

                                    >Зря кстати.
                                    Ну вот и пушка. Как на рнр сидят нубы, так на яве сидят тормоза.

                                    >Не нужно.
                                    Это линуксоидное "кококо нинужно", когда нинужен, например, флеш и другие вещи, которых нет или они работают хуево?

                                    >Всё, и даже больше есть в скала.
                                    Функциональное говно. Вот оно как раз не нужно.
                                    Ответить
                                    • >На, сосни.
                                      И что это значит?
                                      Ссылка на какой-то говнофорум в качестве пруфа.

                                      >Это линуксоидное "кококо нинужно"
                                      Тебе объясняют что такой свитч не нужен (хоть даже его сделали, я не пользуюсь - какой-толк?)
                                      Нужен по диапазонам. А вот его как раз нету.
                                      Ответить
                                      • >И что это значит?
                                        >Ссылка на какой-то говнофорум в качестве пруфа.
                                        Дыбилушка, может ты пойдешь туда и почитаешь? Или тебе няньку приставить надо, чтобы за тбя читала?

                                        >Нужен по диапазонам. А вот его как раз нету.
                                        Где мне это обьясняют?
                                        > я не пользуюсь
                                        А вот это многое обьясняет. Хочешь свой язык с блекджеком и шлюхами - пили его сам.
                                        Ответить
                                    • >>Где лямбды?
                                      >>Функциональное говно. Вот оно как раз не нужно.

                                      Ты явно сумашедший.
                                      Ответить
                                    • >КОСТЫЛЬ. Слив #1
                                      В чем костыль? Одни "ололо" и "кококо" ни одного аргумента.

                                      > слишком функциональное говно.
                                      Это эмоции. Каков четкий критерий между "слишком" функциональным и "не слишком"?
                                      Ответить
                                • >Какое вообще отношение foreach и 2004 год имеют к замыканиям?

                                  Я так до сих пор и не услышал внятного ответа на свои вопросы и вообще какой-либо логики.

                                  Вы сейчас напоминаете мне гуру питона, который объединил в одном посте "джава-хуесосов" и "Apache Hadoop".
                                  Ответить
                                  • А какое они, блядь, должны иметь отношение? С чего ты взял, что они имеют отношение друг к другу? У них есть общее - и то, и то в яве "нинужно".
                                    Ответить
                                    • >У них есть общее - и то, и то в яве "нинужно".
                                      Что в яве "нинужно"? foreach? Или лямбды?

                                      К чему ты вообще упомянул 2004 год?
                                      Ответить
                                        • > когда в яве появился foreach.
                                          По крайней мере в яве он работает адекватно.

                                          Вот тебе foreach по массиву! Вот тебе замыкание в бороду! Вот тебе сишарп под ребро!
                                          http://ideone.com/5jaP3s

                                          >Прочти по ссылке выше
                                          Не нужны мне что кто-то где-то в интернете что-то сказал.
                                          Это чужие мнения. Не надо за них прятаться.
                                          Если ты знаешь проблему foreach - приводи пример.
                                          Ответить
                                            • Давай сюда примеры, аргументы, а твои говноссылки и эмоциональные возгласы не делают заявления о "недостаточно функциональных" и "слишком функциональных" более вескими.

                                              Твой foreach соснул:
                                              >http://ideone.com/5jaP3s

                                              Рекомендую сделать то же - работающий пример на ideone или lws.
                                              Ответить
                                          • > Вот тебе foreach по массиву! Вот тебе замыкание в бороду! Вот тебе сишарп под ребро!

                                            http://ideone.com/8jXdm1

                                            Просто нужно знать эту особенность.
                                            Ответить
                                            • Особенность чего? Насколько я понял, там проблема в замыканиях, а не в foreach, при чем тут foreach, блядь?
                                              Ответить
                                              • >Насколько я понял, там проблема в замыканиях, а не в foreach

                                                Да нихера ты не понял.
                                                >http://ideone.com/5jaP3s
                                                >http://ideone.com/8jXdm1
                                                Два одинаковых замыкания, а работают по разному.

                                                В яве вот кода больше, но сразу понятно что происходит.
                                                Отсюда повторяю изначальную мысль, которую пытался донести сверху треда: лучше иметь свёрнутый код, и возможность посмотреть как оно внутри, чем такой убогий и неочевидный for-each.
                                                Ответить
                                                • Хуй проссыш, что тебе в foreach не нравится, без замыканий все работает на ура. Я не пойму, что ты хочешь рассказать? Что foreach не нужен вообще? Да ты же уебак.
                                                  Ответить
                                                • Позднее связывание, как в питоне? Ну а в чем проблема, как не в замыканиях, и какое это, блядь, отношение имеет к foreach?
                                                  Ответить
                                                  • >Ну а в чем проблема, как не в замыканиях

                                                    Проблема ровно одна: ты долбоёб с пафосом рассуждающий о замыканиях и for-each.
                                                    И в тоже время не можешь разобраться с простейшим примером.

                                                    Проблема в (замыканиях+foreach)
                                                    Не насторожила переменная j во втором примере:?

                                                    >Позднее связывание, как в питоне?
                                                    Но там-то введение дополнительной переменной никак не меняет картину:
                                                    http://ideone.com/lS5DWl
                                                    Ответить
                                                    • Не еби мне мозги. Мы изначально говорили о поддержке foreach, что в нем плохого? У жавоидов рак мозга не дает им пользоваться?

                                                      В сисярпе я не пиздец как силен.
                                                      Ответить
                        • >Фолдинг можно настроить в любой среде
                          Фолдинг есть даже на говнокоде!
                          Ответить
                        • >Если тебе посреди квартиры насрать, то ты газеткой накроешь и будешь вокруг ходить?

                          Конечно. Убирать говно я не буду. Его надо оставить чтобы натыкать туда носом того кто насрал.

                          Накрою газеткой, потом найду того кто это сделал и заставлю убрать.
                          Наверное это твоё, вынужденное по жизни терпильское занятие - убирать чужое говно. Гы-гы.

                          Вот ты обосрался с фолдингом, этого никто убирать не будет, но я буду тыкать тебя лицом в твои же фекалии, как шкодного кота.

                          >А, так фолдинг - это просто скрытие "нинужного" текста?
                          http://govnokod.ru/12855
                          Ну вот, собственно фолдинг во всей красе.
                          Ответить
                          • И где же я обосрался? Это жавапетухи обосрались, выдавая КОСТЫЛЬ за фичу.

                            >http://govnokod.ru/12855
                            >Ну вот, собственно фолдинг во всей красе.
                            И нахуя ты это здесь запостил? Скажи пожалуйста.
                            Ответить
                            • >И нахуя ты это здесь запостил? Скажи пожалуйста.
                              Твоё унылое питоньё говно прикрыли. Чтоб не воняло. Понятный даже идиотам пример приносимой фолдигом пользы. А вот еще один:
                              http://govnokod.ru/12317#comment174366

                              >И где же я обосрался?
                              Внимательно смотри сюда:
                              >"главное, что работает в одной IDE."
                              Ответить
                              • А как правильно? В джвух, если поебаться? Ненужно, нужно из коробки и с одинаковым поведением.

                                Питонье говно прикрыли? Вахахахаха, посмотрите, какой буйный. Из нормальных языков говно удаляют, а не газеткой прикрывают. Для буйных идиотов - газетка была метафора для фолдинга, а ты не въехал и на питон ее переклеил, бедненький.
                                Ответить
                                • >Вахахахаха, посмотрите, какой буйный.
                                  Странно. Вот почему-то на этом сайте у адептов питона и сисярпика посты такие будто их писал агрессивный школьник...

                                  >газетка была метафора для фолдинга, а ты не въехал и на питон ее переклеил, бедненький.
                                  Я привел пример, даже джва - как это бывает в жизни, а не в твоих метафорических фантазиях.
                                  Ответить
                                  • > посты такие будто их писал агрессивный школьник

                                    Да потому что это и есть агрессивный школьник, оправдывающий "говнистостью" своё неосиляторство предмета.
                                    Ответить
                                    • После нормальных языков от явы подташнивает. Ядро языка уебищно, может, внешние библиотеки это поправляют. Ты же вроде сам признал, что ява не без хуйни?
                                      Ответить
                                      • > ява не без хуйни?
                                        Как и любой живой язык. Многие вещи, кстати, в Java были изначально правильно сделаны, а в питоне появились лишь в третьей версии (внятное разделение разделение сырых бинарных массивов и юникодных строк, к примеру).
                                        Ответить
                                        • Ява - живой язык? Перечисли мне, что в нем поменялось за последние 10 лет.

                                          У современной тройки проблем на порядок меньше. В питоне одна из главных проблем - слишком большая динамичность, замедляющая переход с двойки.
                                          Ответить
              • > IntelliJ
                Ъ
                Ставлю. Главное не забыть. А ещё какие фолдинги она умеет? Это без доп. плагинов?
                Ответить
                • Я придумал аббревиатуру СИРОП:

                  Среда
                  Интегрированной
                  Разработки
                  Ориентированных
                  Программ

                  Думаю, Тарас одобрит
                  Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8