1. JavaScript / Говнокод #23522

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function isLogged() {
              return '0';
              return '';
    }
    
    function getForumPrefix() {
             return 'forum/';
    }

    https://dota2.ru/forum/

    Запостил: GreatMASTERcpp, 13 Ноября 2017

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

    • ну так это же "double return" трюк: заретурнится, если певый ретурн не заретурнился. двойная гарантия. энтерпрайз. для надежности нужно еще второй ретурн в вечный цикл обернуть.
      Ответить
      • Это на случай, если вызывающей функции не понравилось возвращаемое значение, и она сдала его назад
        Ответить
        • да. "reject" не хватает. типа:

          var a = isLogged();
          // ... code ...
          if (a != '0') reject a; // автоматом повторить последнюю инициализацию `a`
          assert( a === '' );


          в добавок понадобится еще "accept" - что бы фиксировать хорошее значение переменной. reject после accept будет ставить переменную назад в accept'нутое значение.

          и да, я предпочитаю есть помидоры сырыми.
          Ответить
        • Кстати да, отлично сочетается с генераторами, симуляция negotiation
          while (true) {
            logged = isLogged();
            if (IAmSatisfied(logged)) {
              doSomething(logged);
              isLogged.niceWorkMan();
              break;
            }
            isLogged.wtfIsThisShit(logged);
          }
          Ответить
    • А при чем тут JavaScript? это PHP негенерил
      Ответить
    • Может, у автора собственный интерпретатор РНР, который поддерживает генераторы, и этот код работает как
      function isLogged() {
                yield '0';
                yield '';
      }
      ?
      Ответить
      • Генераторы есть в PHP с версии 5.5:
        http://php.net/manual/ru/language.generators.overview.php

        Но тут код на JS.
        Ответить

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