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

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

    +82

    1. 1
    2. 2
    3. 3
    if (getAgentAgrees() && (firstOrdered || secondOrdered) && !(getDisclaimer().getDisplayed())) {
        getDisclaimer().setDisplayed(false);
    }

    Минут пять вникал в условия, в итоге выяснил, что код только тратит время (моё и процессора).

    roman-kashitsyn, 19 Октября 2011

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

    +82

    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
    if (srType != null) {
        if (srType.equals("my_requests")) {
            String str;
            String temp = srType.toUpperCase();
            int i = srType.indexOf("_");
            if (i != -1) {
                str = srType;
                str.replace('_', ' ');
                temp.replace('_', ' ');
                str = temp.substring(0, 1) + str.substring(1, i) + " "
                                + temp.substring(i + 1, i + 2)
                                + str.substring(i + 2, str.length());
            } else
                str = temp;
                criteriaNode.setAttribute("type", str);
                criteriaNode.setAttribute("subtype", "currentrequests");
            } else {
                criteriaNode.setAttribute("type", "My Requests");
                criteriaNode.setAttribute("subtype", srType);
            }
    }

    Творение вполне известного (по VCS) сумрачного гения из Индии. Видимо замышлялось что-то неимоверное мощное и универсальное.

    Frostbite, 04 Октября 2011

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

    +82

    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
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    /**
         * метод возвращает int-овое смещение тайм-зоны
         */
        
        public long getIntOffset() {
    
            if (timeZone == null) {
                return 0;
            }
            return timeZone.getOffset(System.currentTimeMillis());
            Calendar now = Calendar.getInstance();
            int millisPerDay = 
                now.get(Calendar.HOUR) * ONE_HOUR + 
                now.get(Calendar.MINUTE) * ONE_MINUTE +
                now.get(Calendar.SECOND) * ONE_SECOND;
            int offset = timeZone.getOffset(
                    now.get(Calendar.ERA), 
                    now.get(Calendar.YEAR), 
                    now.get(Calendar.MONTH),
                    now.get(Calendar.DAY_OF_MONTH), 
                    now.get(Calendar.DAY_OF_WEEK), 
                    millisPerDay
                );
            int diff = now.get(Calendar.ZONE_OFFSET);
            boolean isNegative = (offset < 0);
            long intOffset = Math.abs(offset) - Math.abs(diff);
            //todo здесь наверное как-то по-лучше можно выделить часы 
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
            String time = sdf.format(new Date(intOffset));
            Date d;
            try {
                d = sdf.parse(time);
            } catch (ParseException e) {
                d=null;
            }
            if (d!=null)
                return (isNegative?-1:1) * d.getHours()*3600000;
            else 
                return 0;
        }

    Этот "шедевр" был написан не индусами, а суровыми программистами Новосиба ;) Это чудо долго работало, вплоть до обновления tzdata на 2011. Придется удалить, а жаль...

    karamba, 19 Сентября 2011

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

    +82

    1. 1
    2. 2
    3. 3
    /*
            todo it seems that code below will be right, when client will be changed
    */

    Вот такой емкий комментарий перед 200 закоментированными строками кода

    galak, 20 Июня 2011

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

    +82

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //////////////
       TextBuilder sb = new TextBuilder();
       sb.append("<html>");
       sb.append(new StringBuilder("<head><title>" + this.getTitle() + "</title></head><body><img src=\"....\">"));
       sb.append("</body></html>");

    В детстве видимо, матрёшек было маловато..

    VirtualVoid, 28 Мая 2011

    Комментарии (14)
  7. Java / Говнокод #6677

    +82

    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
    //request reading
            String allData = "";
            try {
                int data = input.read();
                while (true) {
                    allData += (char) data;
                    if (input.available() < 1) {
                        break;
                    }
                    data = input.read();
                }
            } catch (IOException ex) {
                Logger.getLogger(HttpProtocolProcessor.class.getName()).log(Level.SEVERE,
                        "Problems occured while reading the stream.", ex);
            }

    Прямо свежего наклада. Вот таким вот нетривиальным способом член команды читает из InputStream'a всё в одну строку. Он не только читает по байтно, но еще и для каждого байта создаёт новую строку. О мой боже. Т_Т.

    sogekoder, 15 Мая 2011

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

    +82

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (false) {
                canvas.drawPicture(mPicture);
            } else {
                drawPict(canvas, 0, 0, x, y,  1,  1);
                drawPict(canvas, x, 0, x, y, -1,  1);
                drawPict(canvas, 0, y, x, y,  1, -1);
                drawPict(canvas, x, y, x, y, -1, -1);
            }

    Взял себе HTC Desire Z, нашёл официальный туториал про Canvas, а там это...

    RaZeR, 01 Мая 2011

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

    +82

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    int cont = 1;
    String d01 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    String d02 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    ....
    String d36 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    
    ...
    
    os.write(d01.getBytes("UTF-8"));
    os.write(d02.getBytes("UTF-8"));
    ...
    os.write(d36.getBytes("UTF-8"));

    Генерация какого-то файла :)

    voice, 17 Марта 2011

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

    +82

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for (FileItem item : items) {
        try {
            item.write(new File(repo 
                    + System.currentTimeMillis() 
                    + "_" + item.getName()));
        } catch (Exception ex) {
            log.error(ex, ex);
        }
        mav.addObject("result", "http://xxx.xx/uploads/"
                + System.currentTimeMillis() 
                + "_" + item.getName());
    }

    долго думал почему имя файла на диске не совпадает с именем в ссылке.

    zlob.jc, 05 Марта 2011

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

    +82

    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
    /**
     * Delete. * 
     * @param entity the entity 
     * @return true, if successful 
     */ 
    public boolean delete(T entity) {
     	boolean deleted=false; 
    	getSession().delete(entity); 
    	flush(); 
    	//when no hibernate runtime exception has arised...set to true.
    	deleted = true;
    	return deleted;
    }

    Our lovely tech lead has written this

    vovano, 21 Декабря 2010

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