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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
public static String[] getServerUrls(){
    String[] res = new String[getServersMap().size()];
    Collection<Server> servers = getServersMap().values();
    int i = 0;
    for(Iterator<Server> it= servers.iterator();it.hasNext();){
        Server server = it.next();
        res[i] = server.getUrl();
        i = i + 1;
    }
    return res;
}
    
public static Server getServer(int index){
    Server server = null;
    String[] serverUrls = getServerUrls();
    String serverUrl = serverUrls[index];
    for(Iterator<String> it = getServersMap().keySet().iterator(); it.hasNext();){
        String alias = it.next();
        if(getServersMap().get(alias).getUrl().equals(serverUrl)){
            server = getServersMap().get(alias);
        }
    }
    return server;
}

Поиск элемента по индексу в мапе, ага. И контрольный в голову - getServersMap() возвращает HashMap.

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

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

  • здесь еще проверку на Null не хватает. Или мне кажется?
    Ответить
  • Мда.

    Человек пользуется как минимум Java 5, знает про дженерики, но не знает про форыч.

    Не говоря уже о том, что использовать массивы сейчас - моветон. Кроме ну разве что низкоуровневых операций и взаимодействия с legacy API.

    Логику второй функции я вообще плохо понимаю. Они пытаются (ОЧЕНЬ неэффективным методом удаления гланд через анус, но вопрос не в этом) получать по числовому индексу получать строку в HashMap, который по определению не даёт гарантий порядка ключей?

    Это вообще как?

    Кстати, я не удивлюсь, если getServersMap при каждом вызове возвращает новый мэп, так что от такого цикла сборщик мусора плачет.
    Ответить
    • Оно вообще принципиально не правильно. Какой такой индекс? Индекс чего? Этот мап: алиас -> url... какой тут может быть индекс? Тут явное непонимание того, почему в Set<T> нет индекса. Не бывает у множества индексов, такова природа математики)... И что вытащится по индексу в принципе неопределенно... а все эти плясяки с бубном... это все лабуда...
      Ответить
  • Лоллировал с того, сколько телодвижений у жаваебов занимает получить список из итератора. В нормальных языках просто list(sequense)
    Ответить
    • Скорее всего в коде итт много лишних двжений. Жаба может короче
      Ответить
    • В Жабе - пожалуйста: new ArrayList<T>(collection)

      Здесь просто автор криворукий.

      Итерация по списку тоже проще: for (T element: list), просто автор об этом не знает.
      Ответить
            • итератор - штука недерминированная, у нее непонятно, сколько элементов, пока не кончились. а массиву обязательна размерность. у них вообще разные судьбы.
              Ответить
            • Массив же имеет иммутабельную длину, а итератор не может рассказать сколько в нем элементов. Поэтому только через промежуточную коллекцию, набив их туда циклом.
              Ответить
                  • Но среднестатистическом коде простые голые массивы не нужны. Используй ArrayList.
                    Ответить
                • > массивы в яве нужны?
                  Нужны конечно. Просто в коде не требующем высокой производительности, экономии памяти или совместимости со старыми либами лишний раз их юзать не стоит.
                  Ответить
                    • пока из опыта по жабе - одна прочтенная книга и приложения уровня хелловорлд, то нет разницы.
                      в реальных задачах обязательно понимать, где какой тип данных нужен. бывает так: сменишь класс с вектора на арраулист, и начинает просто летать.
                      Ответить
      • > Блин, из foreach в массив.
        > массивы в яве нужны?
        > Низкоуровневое дрочерство, понятно.

        Боже, какой же ты долбоёб.
        facepalm.gif
        Ответить
    • потому что строго следуют спецификации w3c. кстати, dom api еще та неудобная штука, именно из-за нее в js есть всякие эти jquery
      Ответить
    • >Кстати!
      К какой же это стати? Нахуй ты везде лезешь со своим уг?
      Ох лол, я теперь понял. Опыт и все знания о жабе данного поциента ограничиваются этой ссылкой.

      Кстати в прошлой дискуссии, где приводился тот линк, агрессивный ушлёпок настойчиво требовал чтобы с ним спорили:
      >>Пи, что стих? Бензин закончился?
      Но при виде же конкретных примеров и аргументов, пустил дрысню по штанине и тихо слился.
      http://govnokod.ru/12317#comment174743
      Ответить
      • Блядь, да зашей ты уже себе пукан, что ты им в каждом треде сверкаешь, сучечка. Это с того кстати, что ява и так - сверхмногословное говно и это еще усугубляется такими вот личностями, для которых фичи 2004 года нинужны. И это, насколько я знаю, стандартная библиотека.

        Не слился, ссылка пропала. Когда-нибудь отвечу.
        Ответить
        • Выучил мантру: ява нинужна, форич, 2004 год. А больше ничего не знаешь, потому что тупой как ишак.
          И не надо лезть на этот сайт со своим "авторитетным знанием джавы", это выглядит убого, вызывая только фейспалм и тошноту у посетителей.
          Сиди на своей хабропараше, и тихо посасывай хуй балмера. Там таких кадров ценят.

          >Не слился, ссылка пропала.
          >Когда-нибудь отвечу.
          Ха-ха-ха. Ну ты же сам настойчиво призывал меня в тред для спора.
          Вот так слив. «ссылка пропала» Более жалких отмазок я тут не видал более 2-х лет.
          Ответить
          • >Выучил мантру: ява нинужна, форич, 2004 год. А больше ничего не знаешь, потому что тупой как ишак.
            Уж припекло так припекло. А нахуя она мне нужна, такая убогая? Что в ней такого, что это компенсирует? Хайлоадъ? Мне не нужен.

            Ах да, вспомнил вторую мантру: ФОЛДИНГ.

            >и тихо посасывай хуй балмера.
            Сгущенка в очке не давит, питушок?

            >Вот так слив. «ссылка пропала» Более жалких отмазок я тут не видал более 2-х лет.
            Если честно, ты там под конец такую хуйню нести стал, что я уже задумался, стоит ли на это вообще отвечать.
            Ответить
            • Что-за ФОЛДИНГ? И что с ним не так в Яве? Имелась ввиду левая и правая свертка? Так их вроде в Яве и нет. Но я не считаю это минусом языка.
              Ответить
              • Лиспоеб в треде. Нет, имелось в виду, что IDE скрывает нинужный код, вроде обьявления анонимного класса, вместо того, чтобы сделать замыкания. Ну не пиздец? Все это, конечно, надо самому настраивать в IDE, если оно вообще это позволяет.

                http://lambda4jdt.googlecode.com/files/screen2b.gif
                Ответить
                • > Лиспоеб в треде.
                  Не гони напраслину на моё честное имя. Свертка есть во многих нормальных языках. И даже в некоторых ненормальных, например в крестах.

                  >screen2b
                  Красиво. Я даже это java-ide зауважал. Вопреки обстоятельствам исправляет ситуацию. Как среда называется? Какой-то плагин? Лучше чем макросы, имхо. Однажды в язык тоже внесут. Терпение. Пока пораскладывай Косынку.
                  Ответить
                  • И где она реально используется, кроме как в функциональном гавне.

                    >Красиво.
                    Вместо замыканий и лямбд? Это называется красиво?
                    Ответить
            • >Если честно, ты там под конец такую хуйню нести стал
              Привел конкретный пример c for-each.
              >что я уже не знал что отвечать.
              fixed
              Ответить
    • В прошлую среду стали известны новые подробности о критической ошибке найденной в коде Java, более известной как "проблема for-each". Напомним что обнаружена она была российским школьником и немедленно вызвала фурор в компьютерном мире.
      Ситуация усугубляется тем, что за 10 лет, прошедшие с выпуска версии 1.5 уязвимыми оказались практически все компьютеры использующие данную технологию. В сообществе Java-программистов нарастает паника, некоторые кончают жизнь самоубийством.
      Эксперты прогнозируют скорое банкротство и крах таких корпораций как Oracle и Google, а их акции уже потеряли в цене 25 и 19 процентов соответственно.
      ЧИТАТЬ ДАЛЬШЕ -->

      Новости по теме:
      Выпущен патч openJDK для Bolgenos, закрывающий обнаруженную проблему
      Антивирус Бабушкина сможет защитить от "ошибки for-each" (эксклюзивное интервью)
      Пользователи массово избавляются от устройств с поддержкой Java
      Ответить

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

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

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


    8