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

    +74

    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
    private boolean userInOneRegistrationNode() throws DfException {
    
            String uname = OrganizationStaffStructureHelper.getCurrentUserName();
    
            int i = 0;
            IDfCollection NodesCol = DQLHelper.getCollection(DQL_GET_REGISTRATOR_DIV, new String[]{uname});
            while (NodesCol.next()) {
                if (!(NodesCol == null)) {
                    String group_name = NodesCol.getString(GROUP_NAME);
                    i = i + 1;
                }
            }
    
            if (i == 1) {
                return true;
            }
            return false;
    }

    Заменяется 2мя строками один - select count(*), вторая - полученный результат Integer.ValueOf(...).

    Запостил: Landing, 04 Марта 2013

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

    • какой странный DQLHelper
      Ответить
    • Мне кажется раньше там было что-то еще, не дочистили походу.
      Жабу не знаю , но по моему строчки с 14 по 17 можно заменить на return (i==1);
      Ответить
    • Тема действительно для тех кто "в теме". Для полного понимания - необходимо знать особенности продукта.
      но даже без этого видно следующее:
      1. Почему бы переменную i не инкрементировать в виде i++
      2. поддержу santa_microbe
      3. Почему коллекция не закрыта?
      Чуть вглубь:
      Зачем в запросе возвращать содержимое какого то поля, если все равно считается только их кол-во?
      Почему бы просто в запрос не вставить count(<имя_поля>)? А результат пропарсить в Integer и вернуть сравнение с единицей?
      Ответить

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