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

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

    +72

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    public class Tm_SP_RP extends Tm_Service implements IObject{
    	private static final String m_MsgProfileStore =
    		"UPDATE TM_SP_RP SET strMsgProfile=? WHERE nServiceID=?";
    	private static final String m_WorkaroundHack =
    		"SELECT data_type FROM user_tab_columns WHERE table_name='TM_SP_RP' AND column_name='STRMSGPROFILE'";
    
    	private String strMsgProfile = null;
    
    /* Здесь ещё разные всякие методы */
    
            private static String getWorkaroundType(Connection conn) throws SQLException
        {
        	PreparedStatement stmt = conn.prepareStatement(m_WorkaroundHack);
        	try
        	{
        		ResultSet rset = stmt.executeQuery();
        		try
        		{
        			if (!rset.next())
        				return "VARCHAR2";
        			return rset.getString(1);
        		}
        		finally
        		{
        			if (rset != null)
        				rset.close();
        		}
        	}
        	finally
        	{
        		if (stmt!=null)
        			stmt.close();
        	}
        }
    
    	public void storeMsgProfile(Connection conn) throws SQLException
    	{
    		String w_around = getWorkaroundType(conn); 
    		
        	PreparedStatement stmt = conn.prepareStatement(m_MsgProfileStore);
        	try
        	{
        		if (w_around.equalsIgnoreCase("VARCHAR2") ||
        			w_around.equalsIgnoreCase("VARCHAR"))
        		{
        			if (strMsgProfile == null)
        				stmt.setNull(1, Types.NULL);
        			else
        				stmt.setString(1, strMsgProfile);
        		}
        		else
        		{
        			byte []data = (strMsgProfile == null) ?
    	    				new byte[0] : strMsgProfile.getBytes();
    	    		stmt.setBytes(1, data);
        		}
        		
        		stmt.setLong(2, this.getId());
        		
        		stmt.executeUpdate();
        	}
        	finally
        	{
        		if (stmt!=null)
        			stmt.close();
        	}
    	}
    }

    Комбинация из багованных JDBC-дров Oracle и работающего с ним Hibernate (чтоб он сдох) иногда заставляет рождать вот такие хитрые workaround-хаки. Несколько баз, в одной тип поля - LONG, в другой - VARCHAR2.

    SadKo, 21 Апреля 2011

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

    +72

    1. 1
    Object key = (Object) (iterator.next());

    alt, 08 Марта 2011

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

    +72

    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
    public void commandMafia(IcqProtocol proc, String uin){ 
      if(!isChat(proc,uin) && !psp.testAdmin(uin)) return; 
       
             try{ 
      int room = srv.us.getUser(uin).room; 
      int cnt1=0; 
      int num = (int) ((Math.random()*8)); //случ число от 0 до 8 
       Users uss = srv.us.getUser(uin); 
    
         if(uss.room!=0) 
    { 
    proc.mq.add(uin,"Играть можно только в 0 комнате"); 
    return; 
    } 
    
    if(cnt1<8){ 
           proc.mq.add(uin,"Игроков должно быть как минимум 8 "); 
           return; 
              } 
    
                 int step = 0; //шаг 
                 String cmd = ""; //команда 
                 Vector vek = new Vector(); //полученые данные 
                 int qqq=1; 
                 if(comMapdop.get(uin)==null) comMapdop.put(uin, 1); 
                 srv.us.updateUser(uss); 
                 if (comMap.containsKey(uin)){ 
                     step = Integer.parseInt(comMap.get(uin).getMsg()); //Узнаем на какой шаг нам надо попасть 
                     cmd = comMap.get(uin).getCmd(); // команда, нужна для второго и т.д. заходов 
                     vek = comMap.get(uin).getData(); 
                 } 
                 switch (step){ 
    
    }

    бугага

    regent, 03 Марта 2011

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

    +72

    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
    public static Document getDoc(CarPartsAd ad) {
            Document doc = new Document();
            doc.add(new Field("id", ad.getId().toString(), YES, NOT_ANALYZED));
            doc.add(new Field("mark", Long.toString(ad.getMarkId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("model", Long.toString(ad.getModelId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("frame", Long.toString(ad.getFrameId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("engine", Long.toString(ad.getEngineId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("type", Long.toString(ad.getTypeId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("front_rear", Long.toString(ad.getFrontRear()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("right_left", Long.toString(ad.getRightLeft()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("up_down", Long.toString(ad.getUpDown()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("contact", Long.toString(ad.getContactId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("town", Long.toString(ad.getTownId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("part_state", Long.toString(ad.getPartState()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("original_flag", Long.toString(ad.getOriginalFlag()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("price", Integer.toString(ad.getPriceRub()), Field.Store.YES, NOT_ANALYZED));
            doc.add(new Field("price_flag", (ad.getPriceRub() > 0 ? "0" : "1"), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("date_sort", Long.toString(ad.getSort()).substring(0, 9), Field.Store.YES, NOT_ANALYZED));
            doc.add(new Field("oem", format(ad.getOem()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("producer_code", format(ad.getProducerCode()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("uplift_rating", Integer.toString(ad.getUpliftRating()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("ads_source", Integer.toString(ad.getAdsSource()), Field.Store.NO, NOT_ANALYZED));
            return doc;
        }

    лучик ненависти авторам lucene за то, что заставляют писать такое :)

    zlob.jc, 20 Октября 2010

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

    +72

    1. 1
    public static final String DOCUMENT_NUMBER_FORMAT = "******************************";

    borka, 18 Августа 2010

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

    +72

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public static String getClassName(final HWND hWnd) {
    	final char[] cname_b = new char[1024];
    	User32.INSTANCE.GetClassName(hWnd, cname_b, 1000);
    
    	final char[] cname_b_truncated = ArrayUtils.toPrimitive(Iterables
    		.toArray(Functional.takeWhile(Arrays.asList(ArrayUtils
    			.toObject(cname_b)), Predicates.not(Predicates
    			.equalTo(Character.valueOf((char) 0)))),
    			Character.class));
    
    	return String.valueOf(cname_b_truncated);
        }

    Только что выдавил)

    Интерес представляют строки с 5 по 9. Тут должно было быть всего-лишь
    takeWhile (/= '\0') cname_b
    но из-за боксинга/анбоксинга (примитивные типы в Java не могут быть параметрами Generic), и из-за того, что массивы в Java не Iterable - получилось ЭТО.

    burdakovd, 17 Июля 2010

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

    +72

    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
    String.format(
            "<b>%s:%s %s %s %d</b>",
            setDisplayFromNumber(calendar.get(GregorianCalendar.HOUR_OF_DAY)), 
            setDisplayFromNumber(calendar.get(GregorianCalendar.MINUTE)),
            setDisplayFromNumber(calendar.get(GregorianCalendar.DAY_OF_MONTH)),
            getMonthNameFromNumber(calendar.get(GregorianCalendar.MONTH)),
            calendar.get(GregorianCalendar.YEAR)
    );
    
    private String setDisplayFromNumber(Integer number) {
        if(number < 10) {
            return String.format("0%d", number);
        }
        else {
            return number.toString();
        }
    }

    yvu, 24 Июня 2010

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

    +72

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    static int a[][]=new int[7][7];
        static boolean b[]=new boolean[7]; 
    static void flag(){
            
            for(i=1;i<=6;++i){
                b[i]=false;
                System.out.print(b[i]+" ");
            }
            System.out.println();
        }
    
        static void graph(){
            a[1][1]=-1;
            a[1][2]=7;
            a[1][3]=9;
            a[1][4]=-1;
            a[1][5]=-1;
            a[1][6]=14;
            a[2][1]=7;
            a[2][2]=-1;
            a[2][3]=10;
            a[2][4]=15;
            a[2][5]=-1;
            a[2][6]=-1;
            a[3][1]=9;
            a[3][2]=10;
            a[3][3]=-1;
            a[3][4]=11;
            a[3][5]=-1;
            a[3][6]=2;
            a[4][1]=-1;
            a[4][2]=15;
            a[4][3]=11;
            a[4][4]=-1;
            a[4][5]=6;
            a[4][6]=-1;
            a[5][1]=-1;
            a[5][2]=-1;
            a[5][3]=-1;
            a[5][4]=6;
            a[5][5]=-1;
            a[5][6]=10;
            a[6][1]=14;
            a[6][2]=-1;
            a[6][3]=2;
            a[6][4]=-1;
            a[6][5]=10;
            a[6][6]=-1;
            System.out.println(" x1 "+" x2 "+" x3 "+ " x4 "+" x5 "+" x6 ");
            System.out.print("x1 ");
            for(i=1;i<=6;++i){
                for(j=1;j<=6;++j)
                    System.out.print(" "+a[i][j]);
                System.out.println();
               
     if(i==6)
                    System.out.println("Все ахуенно!!!");
                else
                    System.out.print("x"+(i+1)+" ");
            }
        }

    Просто красивое заполнение массивов !

    Антон, 15 Июня 2010

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (doSomething() == true) {
        if (doSomething2()) {
            //...
        }
    }

    lotik, 10 Июня 2010

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

    +71.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (!selectAndAdd(select, administrators,
                                        userUid)) //shouldn't be so but...
                                {
                                    throw new IllegalStateException(
                                            "World is full of mystical things. That is one of them");
                                }

    Мир полон таинственных вещей! :-)

    sweetshadow, 17 Сентября 2009

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