Jawa / Говнокод #12755 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Set<String> allDocs = new HashSet<String>();
allDocs.addAll(getQuery(app).execute(query.toString()));
ArrayList<String> result = new ArrayList<String>();
if (allDocs !=null){ 
  result.addAll(allDocs);
}

Самое хорошее в строках 1 и 4, потому что хз, че там у этой джавы на уме. Лишняя проверка никогда не лишняя.

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

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

  • Кстати у некоторых компиляторов сишки есть забавная оптимизация - если компилятор видит, что программист разадресовал указатель, значит там всяко не NULL (не будет же адекватный программист его разадресовывать без проверки?) и все проверки на NULL от этого использования до следующего изменения этой переменной выкидывает нафиг (т.к. если там был не нулл - то какой смысл проверять еще на раз, а если там был нулл - то это UB, и уже на все насрать).
    Ответить
  • Непонятен сам смысл переливания из контейнера в контейнер.

    Разве что это подаётся на вход какому-нибудь API, которому нужен именно List, а не Set (обычно, если не нужна индексация, большинство API на вход принимает Collection или даже Iterable). А то, получается, сначала похерили порядок, но получили уникальность (HashSet), а теперь перекладываем в контейнер, который не гарантирует уникальность, но гарантирует порядок (уже похеренный). Где логика?
    Ответить
    • Ну и плюс сложно понять, почему нельзя отсеить дубликаты на уровне запроса к ресурсу.
      Ответить
      • Может, там не SQL, а мега-ынтырпрайзный PopovQueryLanguage++, который не умеет в DISTINCT?
        Ответить
        • Ну видел я одну реалтаймовую базу, которая не может в distinct и group by, но это был закрытый проект глубоко в недрах Ericsson. А тут небось какой-нибудь Documentum, наверняка язык поддерживает такое...
          Ответить
        • Это мега-ынтырпрайзный DQL. Он все умеет, просто этот кусок, скорее всего, побырому переписывался несколькими поколениями наследников, по этому так получилось.
          Ответить

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

Где здесь C++, guest?!

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


    8