1. Лучший говнокод

    В номинации:
    За время:
  2. Java / Говнокод #17814

    +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
    19. 19
    builder.append(" SELECT ");
            for(int i=7;i>0;i--){            	
            	int month = cal.get(Calendar.MONTH) + 1;
                    int year = cal.get(Calendar.YEAR);
            	cal.add(Calendar.MONTH, -1);
            	builder.append(" IFNULL(SUM(IF((MONTH(FEED.feed_date)= "+ month +" && YEAR(FEED.feed_date)="+year+"),"+measurementByColumn+",0)),0) AS M"+i+ " , ");
            }
    builder.append(" IFNULL(MAX(IF((YEAR(FEED.feed_date)="+currentyear+" and FEED.feed_date=FEEDYEARDATA.curYearMaxFeedDate),"+measurementByColumn+",null)),0) AS CUR_YEAR_DATA, ");
    builder.append(" IFNULL(MAX(IF((YEAR(FEED.feed_date)="+lastyear+" and FEED.feed_date=FEEDYEARDATA.lastYearMaxFeedDate ),"+measurementByColumn+",null)),0) AS LAST_YEAR_DATA , ");
    builder.append(" FEED.pa_code,FEED.sub_pa_code ");
    builder.append(" FROM lm_dealer_info_data_feed FEED ");
    builder.append(" inner join ( SELECT pa_code,sub_pa_code, ");
    builder.append(" MAX(IF(YEAR(feed_date)="+currentyear+",feed_date,NULL)) as curYearMaxFeedDate, ");
    builder.append(" MAX(IF(YEAR(feed_date)="+lastyear+",feed_date,NULL)) as lastYearMaxFeedDate " );
    builder.append(" FROM lm_dealer_info_data_feed  " );
    builder.append(" GROUP BY pa_code,sub_pa_code  ) as FEEDYEARDATA " );
    builder.append(" ON FEED.pa_code =FEEDYEARDATA.pa_code and FEED.sub_pa_code = FEEDYEARDATA.sub_pa_code " );
    builder.append(" GROUP BY FEED.pa_code,FEED.sub_pa_code ");
    return builder.toString();

    Формируем чоткий запрос :)

    vetal, 18 Марта 2015

    Комментарии (15)
  3. Java / Говнокод #17741

    +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
    19. 19
    20. 20
    private short findHeaderLength() {
        return (short)(
            1+
            3+
            4+
            2+
            2+
            2+
            1+
            1+
            4+
            4+
            4+
            1+
            1+
            2+
            (32*fieldArray.length)+
            1
        );
    }

    DBFHeader

    bormand, 06 Марта 2015

    Комментарии (11)
  4. Java / Говнокод #17197

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void playersListClearBlacklist() {
    	List<Player> itemsToRemove = new ArrayList<Player>();
    	for (int i = 0; i < blacklist.size(); i++) {
    		Player player = blacklist.get(i);
    		itemsToRemove.add(player);
    		DBCore.getInstance().deletePlayer(player);
    	}
    	blacklist.removeAll(itemsToRemove);
    }

    Из комерческого проекта

    Smekalisty, 27 Ноября 2014

    Комментарии (20)
  5. Java / Говнокод #17066

    +79

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Object o1 = true ? Integer.valueOf(1) : Double.valueOf(2.0);
    Object o2;
    
    if (true) {
    	o2 = Integer.valueOf(1);
    } else {
    	o2 = Double.valueOf(2.0);
    }
    
    System.out.println(o1);
    System.out.println(o2);

    Такие вот в Java интересные типы-обёртки.

    Проверить себя: http://ideone.com/BrhREq

    Источник: http://java.dzone.com/articles/10-things-you-didnt-know-about

    someone, 05 Ноября 2014

    Комментарии (79)
  6. Java / Говнокод #16711

    +79

    1. 1
    2. 2
    // Number a, Number b
    return new Double(a.doubleValue() - numericTolerance).compareTo(b.doubleValue()) < 0

    В продолжение #16698, после рефакторинга. Видимо, диагноз: ООП головного мозга.

    Actine, 17 Сентября 2014

    Комментарии (14)
  7. 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)
  8. Java / Говнокод #16134

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    List<SomeType> list = ...;
    ...
    if (list.size() < 0)
        return true;

    а вдруг?

    evg_ever, 09 Июня 2014

    Комментарии (28)
  9. Pascal / Говнокод #15864

    +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
    if (Grid.DataSource.DataSet.Name = 'tMMain')
          or (Grid.DataSource.DataSet.Name = 'tMain')
          then
            Tg := Grid.DataSource.DataSet.FieldByName('ARTID').AsInteger
          else
            if Grid.DataSource.DataSet.Name = 'tAnalog' then
              Tg := Grid.DataSource.DataSet.FieldByName('IDPROD').AsInteger
            else
              if Grid.DataSource.DataSet.Name = 'tPriceSet' then
                Tg := Grid.DataSource.DataSet.FieldByName('IDPROD').AsInteger
              else
                if Grid.DataSource.DataSet.Name = 'tProd' then
                  Tg := Grid.DataSource.DataSet.FieldByName('ID').AsInteger
                else
                  Tg := 0;

    Крутое решение проблемы разных полей в разных источниках вызова.
    А вы говорите виртуализация, перегрузка функций....

    TikiRU, 29 Апреля 2014

    Комментарии (39)
  10. Java / Говнокод #14371

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    if(VovaJSONparser.ParseText(d, text))
    {
    	return d;
    }

    Вова, фас!

    arbuzz, 16 Января 2014

    Комментарии (17)
  11. Java / Говнокод #14246

    +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
    import java.util.Random
    
    def random = new Random()
    def latitude = ''
    def longitude = ''
    def validDigits = 1..9
    
    for(def i in 1..16) {
    	if(i == 3){
    		latitude += '.'
    		longitude += '.'
    	}
    	latitude += validDigits[random.nextInt(validDigits.size())]
    	longitude += validDigits[random.nextInt(validDigits.size())]
    }
    
    testRunner.testCase.testSuite.setPropertyValue('soapuiclient.user.coordinates.latitude', latitude)
    testRunner.testCase.testSuite.setPropertyValue('soapuiclient.user.coordinates.longitude', longitude)

    Есть у нас монга, на ней хранятся в координаты. Проиндексировано всё, поиск быстрый, все дела... Ну и на это дело тест есть в SoapUI. Генерятся случайные координаты, сохраняются и вычитываются. Всё работало до поры до времени..

    И тут тест упал. На ровном месте регрессия. Лезу в логи, нахожу ошибку: координаты: [ 51.16344233595981, 94.45587248671733 ]. Ага, думаю, долгота больше 90 градусов... Проверил - так и есть, умняшка монга валидирует координаты. Ну понятно, рандом подкачал, ща поправим. Но там был не просто рандом...

    madhead, 19 Декабря 2013

    Комментарии (11)