1. Java / Говнокод #10014

    +92

    1. 1
    "".equalsIgnoreCase(propertiesFile) != true

    индусское достояние

    Запостил: Desperate, 22 Апреля 2012

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

    • ignoreCase для пустой строки это да...
      Ответить
    • маразм крепчал...
      Ответить
    • А как будет "" в верхнем и нижнем регистре?
      Ответить
    • а может жертва рефакторинга? раньше было не "", а "none" или что-нить в этом роде.
      Ответить
      • > "none"
        в первую секунду показалось, что это "попе"
        Ответить
      • Пустые строки порой бывают опасны. Как-то раз порадовал Oracle, преобразующий пустые строки в NULL. Т.е. сохраняешь объект с полем, содержащим пустую строку, в базу, а при загрузке этот объект уже содержит в том же поле null (причём это задокументированная фича оракла). Неприятно было, заменил пустую строку маркером "UNKNOWN".
        Ответить
        • Strings.isNullOrEmpty() не спасёт отца русской демократии?
          Ответить
          • Нет, очень хотелось, чтобы null в поле никогда не лежал
            Ответить
            • а настроить религия не позволяет?
              Ответить
              • это не конфигурабельно
                Ответить
                • это противоречит SQL-92, иди ман читать
                  Ответить
                  • http://stackoverflow.com/questions/203493/why-does-oracle-9i-treat-an-empty-string-as-null
                    "Violating the SQL standard (IMHO) was the least disruptive of these three options."
                    Oracle не соответствует стандарту. Открытие для себя сделал?
                    Ответить
        • Офигенная фича. Н-да, я думал, что Большие и Дорогие базы такой фигнёй страдать не будут.
          Ответить
        • > а при загрузке этот объект уже содержит в том же поле null (причём это задокументированная фича оракла)
          У майкрософта учатся. В обоих смыслах.
          У них там вроде была опция, которая делала похожеее - меняла сравнения строк чтобы пустая строка==null.
          Ответить
          • а че майкософт? у них это на лету включается и выключается
            Ответить
            • Чё-чё, стандарты ломает.
              Ответить
            • http://bytes.com/topic/sql-server/answers/671864-insertion-automatically-truncates-value
              http://msdn.microsoft.com/en-us/library/aa259229(v=sql.80).aspx

              Одно обрезает, другое сранивает.
              Ответить

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