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

    +92

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public Boolean checkPermission(String login) {
        if (login == null && login.trim().length() == 0)
            throw new Exception("Не указан логин пользователя.");
        /* ... */
    }

    Чудесное условие. Есть в этом Exception что-то неуловимое - его никто никогда не поймает.

    Запостил: roman-kashitsyn, 14 Июня 2011

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

    • ошибка?

      и, хм, возвращать Boolean тоже круто.
      Ответить
      • продакшн код, работает уже 7 лет. и никто не исправил... Видимо, никто не пробовал null'ы подставлять. Юнит тесты рулят.
        Ответить
    • кстати, как это может быть в продакшене, если кидается Exception, который checked, и требует быть объявленным в списке throws - тут throws Exception я в упор не вижу.
      Ответить
      • сразу в глаза бросилось.
        Ответить
        • возможно,фейк или companyname.Exception extends RuntimeException
          Ответить
          • да походу. любой нормальный IDE ворнинг по идее должен выдавать.
            забавно другое.
            там все-равно-то будет вылазить Exception, тот который nullPointer и unchecked, лол.
            Ответить
            • ну это в рантайме. А компилятору достаточно и формальное наличие Exception, что бы упереться рогом.
              Ответить
      • Там метод реально принимает 8 (!) параметров, я умышленно его упростил, случайно отбросив и throws. Кстати, Boolean там возвращается как new Boolean(true)
        Ответить
        • самое смешное выбросили.
          Ответить
        • >new Boolean(true)
          если java без автобоксинга (1.4), а вполне возможно код писался под нее, то это совсем не удивительно
          я бы конечно использовал Boolean.TRUE
          Ответить
          • >если java без автобоксинга
            Вот 3.14159265♬расы...
            Ответить
          • А Boolean.TRUE для кого? Или хотя бы Boolean.valueOf(true)?
            Ответить
            • >А Boolean.TRUE для кого?
              brotip:read the spoiler up there

              >Вот 3.14159265♬расы...
              fresh joke. ololo
              Ответить
              • С этой поправкой — да, не удивительно. Но java 1.4 тут ни при чём.
                Ответить
        • А почему бы не использовать Boolean.TRUE?
          Ответить
    • .
      Ответить
      • А Вы тоже хотели сказать что-то про Boolean.TRUE? :p
        Ответить
        • Нет, я вчера не мог добавить комментарий, просто попробовал :p
          А про Boolean.TRUE или FALSE, я им вообще не пользуюсь
          Ответить
    • показать все, что скрытоvanished
      Ответить

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