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

    +79

    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
    public Long getRecordCount() {
            long result = 0;
            if(pfrFile != null){
                if(pfrFile.getПачкаВходящихДокументов().getРАСЧЕТ_ПО_СТРАХОВЫМ_ВЗНОСАМ_НА_ОПС_И_ОМС_ПЛАТЕЛЬЩИКАМИ_ПРОИЗВОДЯЩИМИ_ВЫПЛАТЫ_ФЛ() != null){
                    result++;
                }
                if(pfrFile.getПачкаВходящихДокументов().getРСВ1() != null){
                    result++;
                }
                if(pfrFile.getПачкаВходящихДокументов().getРАСЧЕТ_ПО_СТРАХОВЫМ_ВЗНОСАМ_НА_ОПС_И_ОМС_ПЛАТЕЛЬЩИКАМИ_СВ_ПРОИЗВОДЯЩИМИ_ВЫПЛАТЫ_ФЛ_НАЧИНАЯ_С_2012_ГОДА() != null){
                    result++;
                }
                if(pfrFile.getПачкаВходящихДокументов().getРАСЧЕТ_ПО_СТРАХОВЫМ_ВЗНОСАМ_НА_ОПС_И_ОМС_ПЛАТЕЛЬЩИКАМИ_СВ_ПРОИЗВОДЯЩИМИ_ВЫПЛАТЫ_ФЛ_НАЧИНАЯ_С_2013_ГОДА() != null){
                    result++;
                }
    ...
            return result;
    }

    :D

    Запостил: skobets, 18 Июня 2014

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

    • Опять 1CJava
      Ответить
    • И что, каждый новый год исправлять код?
      Ответить
      • Не, там скорее всего форматы менялись. И исправлять код придется когда ПФР в очередной раз изменит их.
        Ответить
        • А типа передавать обьект класса format в функцию - это некошерно? Ну или буковку и внутри кейс?
          Ответить
          • > Ну или буковку и внутри кейс?
            Кейс внутри, имхо, довольно плохая идея. Из-за него тебе придется отлаженный и оттестированный код портить, добавляя новую ветку. А потом, чтобы отбросить поддержку старых версий, опять придется копаться в коде, и выпиливать ветки... А так - одна функция на один формат. DRY нарушен, зато инкапсуляция по максимуму и соблюдается важное правило "работает - не трогай"...

            > Ну или буковку и внутри кейс?
            Ага, и фабрику форматов замутить. По сути та же херня, что и отдельные функции. Только эти функции разнесены по классам, и писанины больше ;)

            Ну и там в разных версиях форматов, емнип, разные поля и разные справочники могут быть.
            Ответить

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