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

    −55.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    25. 25
    26. 26
    27. 27
    for (ComplectationItemTO complectation : previewFullTO.getItemComplectations()) {
                for (Map.Entry entry : complectation.getInstances().entrySet()) {
                    if (entry.getKey().equals(SoundData.SOUND_COMPLECTATION_NAME)) {
    
                        SoundData soundData = getComplectationSoundData(complectation.getId(), previewFullTO);
                        soundsMap.put(complectation.getId(), soundData);
                    }
                }
            }
    
    
     private SoundData getComplectationSoundData(Long complectatiomId, PreviewFullTO previewFullTO) {
            for (ComplectationItemTO complectationSound : previewFullTO.getItemComplectations()) {
                if (complectationSound.getId().equals(complectatiomId)) {
                    for (Map.Entry entrySound : complectationSound.getInstances().entrySet()) {
                        if (entrySound.getKey().equals(SoundData.SOUND_LENGTH)) {
                            String soundLength = complectationSound.getInstances().get(SoundData.SOUND_LENGTH);
                            String soundData = complectationSound.getInstances().get(SoundData.SOUND_COMPLECTATION_NAME);
                            String productNumber = previewFullTO.getItemTO().getFeatureInstances().get("Product number");
                            String productRewritedName = previewFullTO.getItemTO().getProductTypeRewrited();
                            return new SoundData(soundData, productRewritedName, Long.valueOf(productNumber), soundLength);
                        }
                    }
                }
            }
            return null;
        }

    цикл в цикле и циклом погоняет

    Запостил: guest, 20 Января 2009

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

    • Nick:
      У меня и хуже циклы были - иногда просто необходимо, а отдельные функцие под это выделять нецелесообразно
      Ответить
    • Vitaly:
      Have you seen stubs generated by JAXB???
      This code is ok.
      Ответить
    • Нормальный код. Просто некоторые люди ничего сложнее морды к БД не писали, вот и удивляются.
      Ответить
    • Читать код надо внимательнее.
      В вызывающем коде производится цикл ПО ТОМУ ЖЕ множеству, что и во вложенном.
      Происходит нечто типо следующего:
      1) В цикле для каждого obj вызывается метод.
      2) В методе производится такой же цикл, и находится этот же объект obj.
      3) И уже потом с этим объектом производятся какие-то действия.

      В общем, зачет )
      Ответить

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