1. PHP / Говнокод #12271

    +75

    1. 1
    2. 2
    echo( TRUE ? "1" : TRUE ? "2":"3");
    //2

    http://ideone.com/UBg3T2
    В ответ на это:
    http://govnokod.ru/12268#comment163978

    Запостил: 3.14159265, 11 Декабря 2012

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

    • Как это?
      Ответить
    • Ставьте скобки, и не будет разночтений
      echo( TRUE ? "1" : (TRUE ? "2":"3"));
      Ответить
      • Скобки скобками, но. Человек, пришедший с любого другого языка привык ставить скобки у проверяемого выражения, ибо как раз с ним бывают проблемы, но не у веток. Так как в остальных языках всё трактуется однозначно и никаких проблем с нет. Ибо это пыхопроблемы.
        Ответить
        • Ну такие вложенные тернарки редко пишу, но если напишу, то вложенную тернарку обрамляю скобками в обязательном порядке. По моему глупо писать выражение допускающее двойную трактовку, и считать что его воспримут и вычислят так как ты считаешь нужным. Лучше написать так, чтоб вариантов того как воспринять это выражения, кроме правильных, просто не было.
          Ответить
          • (((a+b)+(c*d))? А не слишком ли?
            Ну а конкретно про тернарный оператор - мир не идеален. Так зачем подкладывать ещё одни грабли?
            Ответить
        • >Человек, пришедший с любого другого языка
          Особенно весело портировать код с сишки, крестов, js и остальных сиподобных языков.
          Ответить
    • Я в крестоблядском крестокоде регулярно использую
      ololo = a1 ? b1
            : a2 ? b2
            : a3 ? b3
            :      b4;

      Поэтому пых ещё большее дерьмо, чем кресты.
      Ответить
      • Все дерьмо а пых кошерный.
        Ответить
        • Vasiliy дерьмо а пых дерьмо.
          Ответить
          • byss и где же пых дерьмо ?
            Ответить
            • В любом случайно выбранном месте :)
              Ответить
              • >В любом случайно выбранном месте :)
                Не читал но осуждаю
                Ответить
                • Ну как не читал.. Начал. Решил, что опасно для мозга и стиля программирования. Перестал читать.
                  Ответить
                  • Ну если не познали до конца чего тогда говорить дерьмо ? Вполне себе язык. Где то слышал фразу "пхп кресты веба". т.е. все ругают но один хрен используют. Бредовости в пыхе хватает. Но что дерьмо это уж нет.
                    Ответить
                    • > "пхп кресты веба"
                      95% населения... Ну вы сами знаете.
                      У пхп есть только 1 плюс - низкий порог вхождения.
                      > Но что дерьмо это уж нет.
                      В общем - это ваше личное мнение, а выше - наше :)
                      Ответить
                      • >У пхп есть только 1 плюс - низкий порог вхождения.
                        Для того что бы говнокодить подойдет любой язык. Я бы даже сказал в говнокодера везде низкий порог вхождения.
                        >В общем - это ваше личное мнение, а выше - наше :)
                        ну я как то не навязываю. Мне не нравятся голословные утверждения язык говно. Если уж считаете так то скажите почему. Примерно так пых говно. Потому что не может все функции в едином глобал спейсе.
                        Ответить
                        • А вот фиг. Бэйсик я освоил слёту (посмотрев пару примеров)
                          На С++ же перешёл только с хорошим учебником и не с 1й попытки.
                          В общем суть: есть языки, которым достаётся всё говно начинающих, а есть такие, что новичок и hello world сам не напишет. php - из 1х, и это плохо. А в купе с его, гм, странностями - получается ядрёный звездец и +1 инвалид говнокодер на всю жизнь.
                          Ответить
                          • Ну так дело не в языке как таковом дело в том что пых начинают изучать первым. Я начинал с Паскаля. Бейсик даже и не начинал. Если у человека есть знание хоть 1 языка то проблем с пыхом не будет если нет то вполне возможно он и станет пэхепешником.
                            Ответить
      • Плюс.
        Кстати ты интересно форматируешь тернарники. Надо взять на вооружение.
        Ответить
        • Он с форматированием игрался ещё со времен Delphi:
          if ko<koko then begin
          У него уже хороший опыт.

          зы: тоже поддерживаю такие тернарники
          Ответить
        • тарасоформатирование же
          только пустота между последним двоетоием и последним условием напрягает
          и ещё автовыравнивание в студии всё время стремится сбить меня
          Ответить
          • :false?b4; чисто в эстетических целях не ?
            Ответить
          • Если a1,a2,a3 - разной, и/или довольно большой длины, то получается не-айс и мой привычный вариант получше
            ololo = someLongCondition
                  ? doSomeCrap()
                  :  someElseCondition || someAnotherCondition 
                  ? yep()
                  :  a3 
                  ? anotherCrap()
                  :  throw new Exception("crap1");
            Ответить
          • А вынеси концепцию Тарасоформатирования в отдельным разделом на сайте.
            Ответить
    • Да, дерьмовенько
      Ответить
    • Именно поэтому я за "Kotlin". И за S" Forth".
      Ответить
      • Кстати, в "Algol-68" IF тоже является выражением:
        OP GCD = (INT a, b)INT: IF b = 0 THEN a ELSE b GCD a MOD b FI;
        PRIO GCD = 3;
        
        print(24 GCD 42)
        Ответить

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