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

    +86

    1. 1
    2. 2
    3. 3
       public static String serialize3(IModellingWorkerSetup r) {
            return serialize(serialize(serialize(r)));
        }

    как вы понимаете, есть и обратное преобразование

    ykhrustalev, 17 Мая 2012

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

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    catch (com.google.gwt.event.shared.UmbrellaException ex) {
    					Iterator<Throwable> it = ex.getCauses().iterator();
    					while (it.hasNext()) {
    						Throwable msg = it.next();
    						System.out.println(msg.getStackTrace());
    					}

    обрабатываем exception......

    sermolaev, 16 Мая 2012

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

    +70

    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
    if(rightTable.isCellPresent(0, 0))
    					for(int i = 0; i < rightTable.getRowCount(); i++)
    						if(((CheckBox)((HorizontalPanel)rightTable.getWidget(i, 0)).getWidget(0)).getValue())
    						{	isChanged = true;
    							
    							leftTableList.add(currentTemplate.getColumns().get(i));
    							for(int j = 0; j < resultTable.getCellCount(0); j++)
    									if(((Label)((HorizontalPanel)resultTable.getWidget(0, j)).getWidget(1)).getText().compareTo(new Integer(currentTemplate.getColumns().get(i).getOrder()).toString()) == 0)
    										resultTable.removeCell(0, j);
    							
    							System.out.println(resultTable.getCellCount(0));
    							
    							rightTable.removeRow(i);
    							currentTemplate.getColumns().remove(i);
    							i--;
    						}

    sermolaev, 16 Мая 2012

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

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int buttonState = R.id.power_widget_button_indic; // Зачем-то объявили лишнюю переменную, ссылающуюся на константу
    ImageView indic = (ImageView) mView.findViewById(R.id.power_widget_button_indic); // Но здесь используем константу, а не новую, более короткую переменную!
    if ((Settings.System.getInt(context.getContentResolver(), Settings.System.EXPANDED_HIDE_INDICATOR, 0)) == 1) {
    	indic.setVisibility(8); // Для установки видимости существуют константы View.VISIBLE, View.INVISIBLE и View.GONE, а циферка 8 вообще ни о чем мне не говорит
    } else {
    	indic.setVisibility(0); // И еще раз
    }

    Это - кусок кода из Android 4, вернее, из CyanogenMod 9. Репозиторий frameworks_base, файл packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/PowerButton.java. И такого говнокода в исходниках Android - полно :(

    RankoR, 13 Мая 2012

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

    +69

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //JAVA
    request.setAttribute("sexForRegi", person.getSex().getLogicConstant());
    //А теперь и JSTL: 
    <c:choose>
       <c:when test="${sexForRegi == 'MALE'}">
          <div class="sys-icon-128x128 icon-128x128-RegEndMan"></div>
       </c:when>
       <c:when test="${sexForRegi == 'FEMALE'}">
          <div class="sys-icon-128x128 icon-128x128-RegEndWoman"></div>
       </c:when>                  
    </c:choose>

    Sex - это у меня сущность, которая определяет половую принадлежность.
    Regi - Action, отвечающий за регистрацию.
    Вот и назвал переменную, чтобы определять какую картинку выводить "sexForRegi".
    Вдумавшись, такое название наталкивает на мнение, что регистрация возможна только через секс =)

    Dvelopp, 12 Мая 2012

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

    +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
    final String sqlString=
    					" select distinct 1 "+
    					" , c_rep.card_id as rep_id "+
    					" , av_rep_xml.long_binary_value as rep_xml "+
    					" , av_sname_nm.string_value as name "+
    					" , av_c_date.date_value as date \n"+
    					" from	card c_res \n"+
    					" 	join 	attribute_value av_res_rep on (av_res_rep.card_id = c_res.card_id and av_res_rep.attribute_code = 'JBR_RIMP_REPORT') \n"+
    					" 	join	attribute_value av_res_exec on (av_res_exec.card_id = c_res.card_id and av_res_exec.attribute_code = 'JBR_INFD_EXEC_LINK') \n"+
    					" 	join 	card c_rep on (c_rep.card_id = av_res_rep.number_value ) \n"+
    					" 	left outer join attribute_value av_rep_xml on (av_rep_xml.card_id = c_rep.card_id and av_rep_xml.attribute_code = 'ADMIN_702354') \n"+
    					" 	left outer join attribute_value av_c_date on (av_c_date.card_id = c_rep.card_id and av_c_date.attribute_code = 'CREATED') \n"+
    					" 	left outer join	attribute_value av_rep_exec on (av_rep_exec.card_id = c_rep.card_id and av_rep_exec.attribute_code ='ADMIN_702335') \n"+
    					" 	left outer join	person person_card on (person_card.person_id=av_rep_exec.number_value) \n"+
    					" 	left outer join attribute_value av_sname_nm on (av_sname_nm.card_id = person_card.card_id and av_sname_nm.attribute_code = 'JBR_PERS_SNAME_NM') \n"+
    					" 	left outer join attribute_value av_on_control on ( av_on_control.attribute_code = 'JBR_TCON_ONCONT' and av_on_control.card_id = c_res.card_id) \n"+
    					" where	c_res.card_id = " + sResId+ "\n"+
    					" 	and av_res_exec.number_value = av_rep_exec.number_value \n"+
    					" 	and av_on_control.value_id=1449 \n"+
    					" 	and c_res.status_id in (103, 206) \n"+
    
    					// UNION
    					" UNION select 51 \n"+
    					" , c_rep.card_id as rep_id \n"+
    					" , av_rep_xml.long_binary_value as rep_xml \n"+
    					" , av_sname_nm.string_value as name \n"+
    					" , av_c_date.date_value as date \n"+
    					" from card c_prnt \n"+
    					" 	left outer join attribute_value av_res on ( av_res.attribute_code = 'JBR_IMPL_RESOLUT' and av_res.card_id = c_prnt.card_id) "+
    					" 	left outer join card c_res on (c_res.card_id=av_res.number_value)"+
    					" 	join 	attribute_value av_res_rep on (av_res_rep.card_id = c_res.card_id and av_res_rep.attribute_code = 'JBR_RIMP_REPORT') "+
    					" 	join	attribute_value av_res_exec on (av_res_exec.card_id = c_res.card_id and av_res_exec.attribute_code = 'JBR_INFD_EXEC_LINK') "+
    					" 	join 	card c_rep on (c_rep.card_id = av_res_rep.number_value ) "+
    					" 	left outer join attribute_value av_rep_xml on (av_rep_xml.card_id = c_rep.card_id and av_rep_xml.attribute_code = 'ADMIN_702354') "+
    					" 	left outer join attribute_value av_c_date on (av_c_date.card_id = c_rep.card_id and av_c_date.attribute_code = 'CREATED') "+
    					" 	left outer join	attribute_value av_rep_exec on (av_rep_exec.card_id = c_rep.card_id and av_rep_exec.attribute_code = 'ADMIN_702335') "+
    					" 	left outer join	person person_card on (person_card.person_id=av_rep_exec.number_value) "+
    					" 	left outer join attribute_value av_sname_nm on (av_sname_nm.card_id = person_card.card_id and av_sname_nm.attribute_code = 'JBR_PERS_SNAME_NM') "+
    					" 	left outer join attribute_value av_on_control on ( av_on_control.attribute_code = 'JBR_TCON_ONCONT' and av_on_control.card_id = c_res.card_id)  "+
    					" where "+
    					" 	c_prnt.card_id = "+ sResId+ "\n"+
    					" 	and c_prnt.template_id <> 324 \n"+
    					" 	and av_res_exec.number_value = av_rep_exec.number_value \n"+
    					" 	and av_on_control.value_id=1449 \n"+
    					" 	and c_res.status_id in (103, 206) \n"+
    	
    .... и еще 8 UNION, куча строчек в том же стиле и с тем же смыслом

    Формирование SQL запроса в методе, который возвращает строковое представление хода исполнения поручения (кто сделал, что сделал, когда и в какой последовательности). Сам метод, если кому интересно дергается из Jasper report.

    Мало того, что запросик имеет длину 250 строк кода (большая часть которых копи/паст с небольшими изменениями), так он ещё и возвращает полную ахинею вместо того что нужно. Чего хотел сказать автор - теперь уже не узнать...

    amberLord, 11 Мая 2012

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

    +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
    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
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    import java.util.*;
    
    class Euler32 {
        public static void main(String[] args) {
    	int total=0;
    
    	LinkedList<Integer> remDigits=new LinkedList<Integer>();
    	for(int n=1;n<=9;n++)
    		remDigits.add(new Integer(n));
    	
    	for(int n9=2;n9<9;n9++){ //starting digit can't be 1 or 2
    	  int thouC=(remDigits.get(n9)).intValue();
    	  remDigits.remove(n9);
    	  for(int n8=0;n8<8;n8++){
    	    int hundC=(remDigits.get(n8)).intValue();
    	    remDigits.remove(n8);
    	    for(int n7=0;n7<7;n7++){
    	      int tenC=(remDigits.get(n7)).intValue();
    	      remDigits.remove(n7);
    	      for(int n6=0;n6<6;n6++){
    		int oneC=(remDigits.get(n6)).intValue();
    		remDigits.remove(n6);
    
    		int c=1000*thouC+100*hundC+10*tenC+oneC;
    		boolean found=false;
    		int n5=0;
    		while((n5<5)&&(found==false)){
    		    int ab1=(remDigits.get(n5)).intValue();
    		    remDigits.remove(n5);
    		    int n4=0;
    		    while((n4<4)&&(found==false)){
    		      int ab2=(remDigits.get(n4)).intValue();
    		      remDigits.remove(n4);
    		      int n3=0;
    		      while((n3<3)&&(found==false)){
    			int ab3=(remDigits.get(n3)).intValue();
    		      	remDigits.remove(n3);
    		      	int n2=0;
    			while((n2<2)&&(found==false)){
    			  int ab4=(remDigits.get(n2)).intValue();
    			  remDigits.remove(n2);
    			  int ab5=(remDigits.get(0)).intValue();
    
    			  int a3=100*ab1+10*ab2+ab3;
    			  int a4=1000*ab1+100*ab2+10*ab3+ab4;
    			  int b2=10*ab4+ab5;
    			  int b1=ab5;
    
    			  if((a3*b2)==c){
    			    found=true;
    			    total+=c;
    			    System.out.println(c+" = "+a3+"x"+b2); 
    			    }
    			  else if((a4*b1)==c){
    			   found=true;
    			   total+=c;
    			   System.out.println(c+" = "+a4+"x"+b1); 
    			   }
    
    			  remDigits.add(n2,new Integer(ab4));
    			  n2++;
    			  }
    			remDigits.add(n3,new Integer(ab3));
    		      	n3++;
    			}
    		      remDigits.add(n4,new Integer(ab2));
    		      n4++;
    		      }
    		    remDigits.add(n5,new Integer(ab1));
    		    n5++;
    		    }
    
    		remDigits.add(n6,new Integer(oneC));
    		}
    	      remDigits.add(n7,new Integer(tenC));
    	      }
    	    remDigits.add(n8,new Integer(hundC));
    	    }
    	  remDigits.add(n9,new Integer(thouC));
    	  }
    	System.out.println(total);	
        }
    }

    http://projecteuler.net/problem=32
    http://projecteuler.net/thread=32;page=2


    >My code is absolutely hideous, but it works and it's fast.

    Извиняюсь за длинный пост, но это просто шедевр, я не мог это не запостить!

    TheHamstertamer, 10 Мая 2012

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

    +79

    1. 1
    for (; e.hasMoreElements();)

    смайлокод.
    вот почему не while, объясните мне?

    Lure Of Chaos, 10 Мая 2012

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

    +86

    1. 1
    2. 2
    3. 3
    int createStageCycles = 0;
    createStageCycles = Integer.parseInt(strCycle);
    int nextVal = new Integer(createStageCycles) + 1;

    int двойного отжима

    zloizerg, 07 Мая 2012

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

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (bindingContext != null && files != null) {
     if (files != null && bindingContext != null) {
      // bla-bla
     }
    }

    I want to be sure!

    Art, 04 Мая 2012

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