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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    public function isBooted()
    {
        return true === $this->booted;
    }

    Дичь

    Запостил: deenmluzsxbpg, 07 Июля 2021

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

    • Это же ПХП, там всякое может быть. Язык же тупорылый)
      Ответить
    • лучше так писать "true ==== $this->booted;"
      Ответить
    • Константа сначала, чтобы не перепутать с присваиванием.
      Ответить
      • Сделайте язык, в котором 1024-- и 1024 = bottled — валидные конструкции.
        Ответить
        • #define TRUE FALSE // Держитесь там, счастья и хорошего настроения...
          Ответить
        • В «PHP» есть конструкция ${1024}--

          Пруфлинк:
          https://ideone.com/EEXVLb
          Ответить
    • Паттерн boolshit.
      Ответить
    • Выглядит смешно, но из-за динамической типизации в «PHP» такая конструкция иногда требуется, чтобы отсечь случаи, когда в $this->booted лежит значение не булева типа, а какого-нибудь другого.
      Ответить
      • Согласен, но в данном случае $this->booted свойство с типом bool))
        Ответить
        • какая разница что там лежит. если там "тру" обьект то он и в африке "тру" значение имеет даже если это не "bool"
          Ответить
          • > "тру" обьект то он и в африке "тру"

            А вдруг там гигабайтная строка? Формально то true, но таскать такое как-то неприятно.
            Ответить
            • operator bool() const {
                auto data = downloadFile("https://" + m_url);
                return crc32(data) + md5(data) + sha512("MySalt666" + data) == m_checksum;
              }
              Ответить
              • Имення поэтому я за C++.
                Ответить
              • Да, в джаве сравнение URL'ов почему-то до ума не довели. Только DNS пробивали в операторе сравнения. А ведь можно было скачать и по контенту сравнить.
                Ответить
              • https://docs.oracle.com/javase/7/docs/api/java/net/URL.html#equals(java.lang.Object)

                Since hosts comparison requires name resolution, this operation is a blocking operation.

                но даже тут не смогли не обоссаться

                Note: The defined behavior for equals is known to be inconsistent with virtual hosting in HTTP.

                (тока по айпи видимо)
                Ответить
                • > inconsistent with virtual hosting in HTTP

                  А ещё гугл не равен гуглу.
                  Ответить
                  • там видимо не поддерживается round robin в DNS?
                    Ответить
                    • А как ты предлагаешь его поддерживать?
                      Ответить
                      • я предлагаю сравнивать домены как строки

                        конечно, "www.govnokod.ru" != "govnokod.ru", но тут уж извините
                        Ответить
                        • А я предлагаю сравнивать по контенту.

                          Ну вот ты пишешь == на строке и сравниваются ссылки. А если пишешь equals, то сравнивается контент. С урлами пусть будет так же.
                          Ответить
                          • и хеш считать тоже от контента
                            удобно будет искать кто у кого контент в интернете пиздит

                            просто клади урлы в HashMap
                            Ответить
                            • Предлагаю для картинок считать специальный хэш (перцептивный, вейвлет и т. п.):
                              https://pypi.org/project/ImageHash/

                              А то хитрые изменят один байт, и по криптографической сумме их не найдут.

                              А для текстов считать расстояние Левенштейна.
                              Ответить
                              • а там и до нечёткой логики недалеко

                                этот объект почти что равен вот этому
                                Ответить
                                • Да просто считать расстояние между объектами (да, придётся для каждого типа объектов определить вменяемое расстояние).
                                  Ответить
                                • В каком-то говнокоде мы обсуждали, что в ЯП не хватает интервальной арифметики, чтобы считать не просто числа, а числа с допуском.

                                  А если обобщить интервальную арифметику на произвольные объекты, то получится нечёткая логика?
                                  Ответить
                                  • Нужны еще нечеткие множества
                                    псевдокот
                                    print petuh in kuratnik
                                    # 0.000011


                                    при объединении множеств числа складываются (вроде бы, я нихуя не помню, на самом деле)

                                    Так что если сложить множество курятников, но петух в конце концов преодалеет некотоый барьер, и будет считаться, что он там есть
                                    Ответить
                              • На всякий случай обращаю твоё внимание, что ты ответил пользователю с ником «БУРАТИХНО».
                                Ответить
            • >гигабайтная строка
              > true === $this->booted
              > true ===

              Булевая переменная.
              Ответить
              • В «PHP» нельзя в этом быть уверенным.
                Ответить
                • Можно, если переменную устанавливает сеттер, принимающий булевой тип.
                  Ответить
    • Ха-ха-ха, пхпшники опять соснули

      уходит дальше расставлять Boolean.TRUE.equals(nullableInput)
      Ответить

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