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

0

  1. 1
  2. 2
  3. 3
if ( isset($this->q_param["submit_form_one"]) && is_numeric($this->q_param["submit_form_one"]) && $this->q_param["submit_form_one"] == 1 ){
//тут разный код
}

ппц

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

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

  • В чём проблема? Не вижу ничего криминального.
    Ответить
  • второе условие лишнее, я так понимаю.

    ученик КО.
    Ответить
    • '1qwe' == 1

      будет истиной. Не зная что там делается внутри условия и после условия нельзя сказать с полной уверенностью плох ли код.
      Ответить
      • ах да! ебанутая неочевидная типизация.
        все равно второе условие лишнее, а в последнем случае ===.
        Ответить
  • Единственная какашка - это то что каждый раз делается выборка из массива, которая в PHP работает через жопу. Поэтому лучше где-то сделать $<имя_переменной>= $this->q_param["submit_form_one"], а потом делать проверки. Хоть это и экономия на спичках, читабельность кода от этого выиграет, поэтому кеширование выборки из массива - хороший тон.
    Ответить
  • вот как в мире пхп принято лечить убогий идиотизм под названием "отсутствие статической типизации"
    Ответить
    • не просто отсутствие (ща уже можно задавать тип аргументов), а полное отсутствие - что для переменной нельзя задать тип вообще
      Ответить
      • нельзя
        можно указать класс для переменной типа "object".

        пхп это театр асбурда
        Ответить
        • но я еще верю, что пых или протянет ноги, или хотя бы их выпрямит, что бы не стыдно было по интырнетам шляться в таком количестве
          Ответить
          • ничего он не выпрямит.
            что бы писать песни для радио шансон -- не нужно быть поэтом.
            что бы играть в рекламе -- не нужно быть актером.
            что бы быть самым популярным язком в интернете -- не нужно быть хорошим
            Ответить
    • Ну есть же и нормальные динамически типизированные языки, без таких загибов.
      Ответить
        • Да любой. Я не могу вспомнить другой язык с настолько странным неявным преобразованием типов. Даже весь из себя строкотипизированный Tcl в этом отношении последовательнее и удобнее.
          Ответить
    • Я вообще всегда думал, что изначально отсутствие типизации было продиктовано одним стремлением - стремлением к простоте. То есть, упрощение компилятора и упрощение кода, где есть универсальный тип, в который всё влезет. Ну и, соответственно, это приводит ко снижению порога вхождения. Возможно, если бы сразу PHP был лютым языком со статической типизацией, просто бы не нашлось такого обилия не-программистов. И он не стал бы популярным.
      Типичный эволюционизм - выживает самый приспособленный. Он может быть слабый, тупой и совершенно без чувства юмора, но вот нате - подходит для условий.

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

        а если Вы пишете крупную корпоративную систему или цмс, то без типизации получается огронмый, не поддерживаемый, не читаемый, не рефакторингуемый кусок слипшегося дерьма, коим и являются 99% PHP проектов
        Ответить
        • > если Вы пишете скрипт на баше, который должен отправлять на принтер отчет о логинах на сервер, и запускаться по крону -- то конечно типизация Вам нафиг не нужна

          Ога. Вот только в интернетах полно историй одминов про то, как был написан и заюзан скрипт в две-три строки. Заканчиваются эти истории примерно так: "И тогда я узнал, что такое бэкап БД :(" и т. д.
          И всё из-за пропущенного символа, опечатки и т. п.

          Имхо, даже малюсенький скрипт удобнее (потому что безопаснее) писать на языке со строгой статической типизацией. Я так и делаю.
          Ответить
      • Вот простоты-то и не хватает. Вот зачем нужно было в булевском контексте строку "false" воспринимать как FALSE? Да и неявное преобразование строк в числа скорее мешает.
        Ответить
  • странно: любое обсуждение говнокода из раздела пхп сводится к дискуссии на тему степени убогости языка.
    видимо, наболело
    Ответить

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

Помни, guest, за тобой могут следить!

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


    8