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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private Integer getIntegerValue(int length) throws PivotReadExeption {
            getValue(length);
            return this.stringBuffer.toString().trim().isEmpty()?0:Integer.valueOf(this.stringBuffer.toString());
        }
    
        private BigDecimal getDoubleValue(int length) throws PivotReadExeption {
            getValue(length);
            if(this.stringBuffer.toString().trim().isEmpty()) return null;
            return new BigDecimal(this.stringBuffer.toString().trim());
        }

    Сотрудник выдал. Это говнокод или нет?

    Запостил: gaal, 11 Сентября 2018

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

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

        и повторное вычисление функции-создание объекта String для одного и тогоже объекта
        Ответить
        • Ну да, неоптимально и не очень красиво, но в качестве рабочих функций вполне. Написал и забыл.
          Ответить
    • Integer.valueOf(this.stringBuffer.toString()) <- trim забыл
      Ответить
      • Насколько же мерзко, когда строка и примитивные типы - объекты.
        Ответить
        • Там всё хуже. Есть примитивный int, а есть объект Integer.
          Ответить
          • А чем разнятся string и String же в плюсах?
            Ответить
            • Слышал про QString, CString, TString, а вот про просто String не слышал.
              Ответить
          • А в Scala ещё хуже. Скаловские типы-обёртки c кучей методов при компиляции могут остаться сами собой, могут превратиться в джавовские обёртки, могут превратиться в примитивы. Пусть если что Роман поправит, но я пока так это понял.
            Ответить

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