1. C# / Говнокод #9967

    +113

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for (int i = 0; i < retries; i++)
    {
        if ((GetProductVersioningProvider() as IQueueProductVersion).IsVersionCommitted(version))
        {
            return true;
        }
        else
        {
            Thread.Sleep(checkDelay);
        }
    }

    Классика жанра же.

    Запостил: abatishchev, 17 Апреля 2012

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

    • В любой непонятной ситуации ложитесь спать
      Ответить
      • Жизненно. Спать лучше, нежели мозги ебать.
        Ответить
      • В непонятной ситуации, если вы под веществами - делайте вид, что всё нормально; иначе - ложитесь спать.
        Ответить
        • if (blood.Contains(drugs)) throw new UnderDrugsException());
          Ответить
          • скобак даухухухуууя
            Ответить
            • (if (contains blood drugs) 
                  (throw (new UnderDrugsException)))

              Так лучше?
              Ответить
              • MUCH better.
                Ответить
                • Я правильно усвоил скобочки, или это говнокод?
                  Ответить
                  • то был грустный смайлик начинаеющего микрософт проффесиоанала
                    Ответить
                  • оно даже почти (лень писать генератор класса для кастомного исключения) работает:
                    http://ideone.com/mwFBx
                    Ответить
              • Ну только в Лиспе традиционно работа с ошибками совсем другая. И код бы скорее всего выглядел как-то так:

                (define-condition fuzzy-error (error) ())
                
                (define-condition i-dont-know (fuzzy-error)
                  ((is-it-dark
                    :initarg :is-it-dark
                    :reader i-dont-know-is-it-dark)
                   (are-you-blind
                    :initarg :are-you-blind
                    :reader i-dont-know-are-you-blind)
                   (what-did-you-take
                    :initarg :what-did-you-take
                    :reader i-dont-know-what-did-you-take))
                  (:report
                   (lambda (condition stream)
                     (format stream "The suspect says:~& is it dark? - ~S,
                 is he blind? - ~S,
                 what did he take? - ~S"
                	     (i-dont-know-is-it-dark condition)
                	     (i-dont-know-are-you-blind condition)
                	     (i-dont-know-what-did-you-take condition)))))
                
                (defun see-whos-there ()
                  (labels ((ask ()
                	     (format t "Who's there? [Y/n]~&")
                	     (finish-output t)
                	     (eval (read))))
                    (restart-case
                       (error 'i-dont-know
                              :is-it-dark nil
                              :are-you-blind nil
                              :what-did-you-take 'just-a-little-bit)
                      (nobody (answer)
                         :report "Can see no one!"
                         :interactive ask
                	 (declare (ignore answer)))
                      (dead-people (answer)
                         :report "They are coming for me!"
                         :interactive ask
                	 (declare (ignore answer)))
                      (rainbow-unicorn (answer)
                         :report "I see trees of green, red roses too
                I see them bloom for me and you
                And I think to myself what a wonderful world."
                         :interactive ask
                	 (declare (ignore answer)))
                      (recursive (answer)
                         :report "I see me seeing you seeing me seeing you"
                         :interactive ask
                	 (declare (ignore answer))))))
                
                (see-whos-there)
                Ответить
                • Это CL живёт с сигнальным протоколом, в Clojure используется модель исключений Java.
                  Ответить
                  • Меня больше в этом смысле смущает то, что в ПХП очевидно есть метки, типа как в Бейсике, которые начинаются с двоеточия. Иначе я не могу придумать оправдания такой боевой раскраске кода :)

                    EDIT: Ох, так они и взаправду существуют! http://php.net/manual/en/control-structures.goto.php Вот чего не знал... а оказывается! Ток двоеточие с неправильной стороны.
                    Ответить
                    • Ой, там еще самое замечательное то, что его добавили в пятой версии! Раньше его не было.
                      Ответить
                    • я пишу обычно [ code=lisp ] с рассчётом на то, что когда-нибудь поддержку запилят.
                      Ответить
                      • В Гейши ж есть подсветка для Лиспа. Я как-то давно случайно закоммитил что-то на Лиспе в репозитори конторы, где тогда работал. Там СВН был подключен с каким-то модулем для "красивой" раскраски исходников, который эту самую Гейши использовал, так помнится, нормально покрасил. Хотя, хз, давно это было...
                        Ответить
          • AsParallel()
            Ответить
    • >Классика жанра же.
      Нет LINQ, штоле?
      Ответить
    • Thread.AsParallel.Sleep(checkDelay);
      Ответить

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