"PHP" / Говнокод #4876 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
if($user_key !== '') {
   .... 
} elseif ($user_key == '') {
  .....
} else {
   exit('error');
}

Еще один шедевр

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

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

    • С учётом дебильной пхпшной вседозвольной системы типов, ответ на этот вопрос уже не столь очевиден.
      Ответить
      • Вообще да, но exit все равно никогда не сработает. Если, например, передать 0, то сработает первое условие 🙂
        Ответить
      • Что плохого в динамической типизации?
        Плюс там однозначно до exit дело не дойдет, ибо делается строгое неравенство к '', то есть сначала проверяется тип поля, а потом значение, так что в elseif попадет только в одном случае, когда $user_key === '', т. е. только в случае пустой строки. В случай null, 0 попадем в "then"
        Ответить
        • >>Что плохого в динамической типизации?
          ничего. Плохо когда нет статической.
          Вернее это тоже хорошо, когда у Вас программа из ста строк кода.
          Если строк больше, то без статической типизации жизнь превращается в ад. А именно такой и становится жизнь любого пыхапешника, если он пытается программировать а не говнокодить
          Ответить
        • >>Что плохого в динамической типизации?
          Если вы захотите сложить овец с баранами то при динамики они сложутся и ошибку будите искать не один час.
          А при статике у вас компилятор (или IDE) выдаст ошибку типов
          Ответить
          • а еще если Вы решите переименовать метод getName у класса User, то при статической типизации у Вас IDE само переименует все его вызовы

            а без статической типизации надо будет руками менять везде
            Ответить
            • Методы задокументированы, пока проблем с переименовыванием в phpStorm'е не возникало, правда и делать это приходилось пару раз.
              Ответить
              • >>Методы задокументированы
                т.е. документация (доки) лечит косяки отсутствия статической типизации?
                ничего не скажешь -- красивое решение)))

                >>равда и делать это приходилось пару раз.
                в крупных проектах рефакторинг делается часто. Меняются классы, методы, сигнатуры, методы подымаются выше/ниже по иерархии.. Или в мире пхп делать рефакторинг не принято?)
                Ответить
                • вспоминается php manual где говенные особенности язычка стыдливо не упоминают
                  Ответить
                • > Или в мире пхп делать рефакторинг не принято?)

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

        перед тем, как на что-то срать, чтоб не казаться полным мудаком нужно сначала хотя бы минимально разобраться в сути процесса.
        Ответить
  • Клёво! Всё без ошибок! ))) Что ещё web-developer'у для счастья надо?!
    Ответить
  • зато обработаны все случаи жизни! если бы так каждый ретурн-флаг проверять ))
    типа
    $h=fopen($fn);
    if($h) { ... }
    elseif(!$h) { ... }
    else { ... }

    и далее по коду = )
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8