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

    +74

    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
    public static final int TYPE_A_OK = 0;
    public static final int TYPE_R_OPEN = 1;
    public static final int TYPE_R_STOPSID = 2;
    public static final int TYPE_A_STOPSID = 3;
    //....
    public static final int TYPE_R_ALARM = 26;
    HashMap<String, Integer> typesMap = new HashMap<String, Integer>();
    
    //в конструкторе
    
    public Data() {
    typesMap.put("A_OK", TYPE_A_OK);
    typesMap.put("R_OPEN", TYPE_R_OPEN);
    typesMap.put("R_STOPSID", TYPE_R_STOPSID);
    //...
    typesMap.put("R_ALARM", TYPE_R_ALARM);
    //...
    }
    
    
    //в одном из методов
    
    public boolean processPacket(Packet pack) {
    //...
    StringTokenizer strt = new StringTokenizer(body, "\n");
    		try {
    			id = strt.nextToken();
    			sign = strt.nextToken();
    			type = typesMap.get(strt.nextToken());
    			try {
    				commBody = strt.nextToken();
    			} catch (Exception e) {
    				// System.out.println("ERR: " + id + "; " + sign + "; " + type
    				// + "; ");
    			}
    		} catch (Exception e) {
    			System.err.println(sdf.format(Calendar.getInstance().getTime()) +"packet parsing error");
    			outBody += "A_ERR\n" + e.getMessage();
    		}
    
    switch (type) {
    		case TYPE_A_OK:
    			dontsend = true;
    			break;
    		case TYPE_R_OPEN:
    			outBody = processROpen(comm);
    			break;
    		case TYPE_R_CLOSE:
    			outBody = processRClose(comm);
    			break;
    //...
    case TYPE_R_ALARM:
    			outBody = processRAlarm(comm);
    			break;
    default:
    			outBody += "A_ERR";
    			break;
    }
    //...
    if(debug)
    System.err.println(outBody);
    //...
    return true;
    }

    ява она такая. Вот так. Вынужденно-китайский код. Не умеет свич со строками работать... и не хочется с хэшем заморачиваться. А скоро типов будет больше...

    ark, 14 Апреля 2011

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

    +68

    1. 1
    2. 2
    log.debug("Request: " + requestStr);
    System.out.println("Request: " + requestStr);

    tupak, 12 Апреля 2011

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

    +74

    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
    public class BeanWrapperImpl extends AbstractPropertyAccessor implements BeanWrapper {
             @SuppressWarnings("unchecked")
             private void setPropertyValue(PropertyTokenHolder tokens, PropertyValue pv) throws BeansException {
    		String propertyName = tokens.canonicalName;
    		String actualName = tokens.actualName;
    
    		if (tokens.keys != null) {
    			// Apply indexes and map keys: fetch value for all keys but the last one.
    			PropertyTokenHolder getterTokens = new PropertyTokenHolder();
    			getterTokens.canonicalName = tokens.canonicalName;
    			getterTokens.actualName = tokens.actualName;
    			getterTokens.keys = new String[tokens.keys.length - 1];
    			System.arraycopy(tokens.keys, 0, getterTokens.keys, 0, tokens.keys.length - 1);
    			Object propValue;
    			try {
    				propValue = getPropertyValue(getterTokens);
    			}
    			catch (NotReadablePropertyException ex) {
    				throw new NotWritablePropertyException(getRootClass(), this.nestedPath + propertyName,
    						"Cannot access indexed value in property referenced " +
    						"in indexed property path '" + propertyName + "'", ex);
    			}
    			// Set value for last key.
    			String key = tokens.keys[tokens.keys.length - 1];
    			if (propValue == null) {
    				throw new NullValueInNestedPathException(getRootClass(), this.nestedPath + propertyName,
    						"Cannot access indexed value in property referenced " +
    						"in indexed property path '" + propertyName + "': returned null");
    			}
    			else if (propValue.getClass().isArray()) {
    				PropertyDescriptor pd = getCachedIntrospectionResults().getPropertyDescriptor(actualName);
    				Class requiredType = propValue.getClass().getComponentType();
    				int arrayIndex = Integer.parseInt(key);
    				Object oldValue = null;
    				try {
    					if (isExtractOldValueForEditor()) {
    						oldValue = Array.get(propValue, arrayIndex);
    					}
    					Object convertedValue = convertIfNecessary(propertyName, oldValue, pv.getValue(), requiredType,
    							new PropertyTypeDescriptor(pd, new MethodParameter(pd.getReadMethod(), -1), requiredType));
    					Array.set(propValue, arrayIndex, convertedValue);
    				}
    				catch (IndexOutOfBoundsException ex) {
    					throw new InvalidPropertyException(getRootClass(), this.nestedPath + propertyName,
    							"Invalid array index in property path '" + propertyName + "'", ex);
    				}
    			}
    			else if (propValue instanceof List) {
    				PropertyDescriptor pd = getCachedIntrospectionResults().getPropertyDescriptor(actualName);
    				Class requiredType = GenericCollectionTypeResolver.getCollectionReturnType(
    						pd.getReadMethod(), tokens.keys.length);
    				List list = (List) propValue;
    				int index = Integer.parseInt(key);
    				Object oldValue = null;
    				if (isExtractOldValueForEditor() && index < list.size()) {
    					oldValue = list.get(index);
    				}
    				Object convertedValue = convertIfNecessary(propertyName, oldValue, pv.getValue(), requiredType,
    						new PropertyTypeDescriptor(pd, new MethodParameter(pd.getReadMethod(), -1), requiredType));
    				if (index < list.size()) {
    					list.set(index, convertedValue);
    				}
    				else if (index >= list.size()) {
    					for (int i = list.size(); i < index; i++) {
    						try {
    							list.add(null);
    						}
    						catch (NullPointerException ex) {
    							throw new InvalidPropertyException(getRootClass(), this.nestedPath + propertyName,
    									"Cannot set element with index " + index + " in List of size " +
    									list.size() + ", accessed using property path '" + propertyName +
    									"': List does not support filling up gaps with null elements");
    						}
    					}
    					list.add(convertedValue);
    				}
    			}
    			else if (propValue instanceof Map) {
    			      //...
                             }
                      }
             }
    }

    Spring...

    nikelin, 12 Апреля 2011

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private  void sortPropertyTypeList(List<PropertyTypeDTO> list){
    		Set<PropertyTypeDTO> propertyTypeSet = new TreeSet<PropertyTypeDTO>(propertyTypeComparator);
    		propertyTypeSet.addAll(list);
    		list.clear();
    		list.addAll(propertyTypeSet);
    	}

    Новаторская сортировочка:)

    hellwalker, 08 Апреля 2011

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

    +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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    public static void m()
        {
            cO = cO + "3659";
            RecordStore recordstore;
            if((recordstore = RecordStore.openRecordStore("saves", true)) != null)
            {
                if(recordstore.getNumRecords() == 20)
                    recordstore.closeRecordStore();
                for(; recordstore.getNumRecords() < 20; recordstore.addRecord(null, 0, 0));
                byte abyte0[] = recordstore.getRecord(6);
                recordstore.setRecord(20, abyte0, 0, abyte0 == null ? 0 : abyte0.length);
                recordstore.closeRecordStore();
            }
            return;
            JVM INSTR dup ;
            Exception exception;
            exception;
            printStackTrace();
            cQ.concat("fuck ur hax, nigers :) muahaha :D");
            cQ + "x";
            return;
        }

    Не поверите, но это было найдено в недрах java игрушки :)

    Govnocoder#0xFF, 07 Апреля 2011

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

    +81

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    while( !par1.end_flag ) 
       {
        if( !par1.end_flag)
          System.out.println("Now waiting par1.end_flag");
       }

    кусок из методички по Java

    ramzes_2, 06 Апреля 2011

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

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    String filler = "";
      int tot = text.length();
      int til = 18 - (tot/100);
      for(int i = 0; i < tot; i++)
      {
        if(text.charAt(i) == '\n')
        {
          text = text.substring(0, i) + "<br/>" + text.substring(i+1);
          tot += 3; i += 3;
          til--;
        }
      }

    Продакшн. Форматирование текста - вставка перевода строки.

    a4060276, 05 Апреля 2011

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

    +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
    private double MLn(double x0){
        double x=x0;
        double y=0;
            //Получаем показатель степени.
            String s0=""+x;
            int i=s0.indexOf("E");
            String s1=s0.substring(i+1, s0.length());//Правее E 
            String s2=s0.substring(0, i);//Левее E
            double a=0,b=0; 
            a=Double.parseDouble(s1)+1;
            b=Double.parseDouble(s2)/10; 
      //Вычисление Логарифма b как суммы ряда Тейлора
           int n=1;
           double sn=1;
           while (sn>(1E-16)*n){
              sn=-sn*(b-1);
              y=y+sn/n;
              n=n++;
          }
        y=y+a*2.302585092994046;
        return y;
    }

    нашел на одном сайте как на j2me можно вычислить логарифм.

    valik-32, 01 Апреля 2011

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

    +78

    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
    public Boolean isEqual(RepJoinCondition targetJoin )
    	{
    		if (targetJoin == null) return false;
    
    		Boolean isLeftSideEqual ;
    		Boolean isRightSideEqual ;
    					
    		isLeftSideEqual = ((this.leftJoinFiled.fieldTableName.toUpperCase() == targetJoin.leftJoinFiled.fieldTableName.toUpperCase()) &&
    							(this.leftJoinFiled.fieldName.toUpperCase() == targetJoin.leftJoinFiled.fieldName.toUpperCase()));
    							
    		isRightSideEqual = 	((this.rightJoinFiled.fieldTableName.toUpperCase() == targetJoin.rightJoinFiled.fieldTableName.toUpperCase()) &&
    							(this.rightJoinFiled.fieldName.toUpperCase() == targetJoin.rightJoinFiled.fieldName.toUpperCase()));
    							
    		if (isLeftSideEqual && isRightSideEqual) return true;
    		
    		isLeftSideEqual = ((this.leftJoinFiled.fieldTableName.toUpperCase() == targetJoin.rightJoinFiled.fieldTableName.toUpperCase()) &&
    							(this.leftJoinFiled.fieldName.toUpperCase() == targetJoin.rightJoinFiled.fieldName.toUpperCase()));
    							
    		isRightSideEqual = 	((this.rightJoinFiled.fieldTableName.toUpperCase() == targetJoin.leftJoinFiled.fieldTableName.toUpperCase()) &&
    							(this.rightJoinFiled.fieldName.toUpperCase() == targetJoin.leftJoinFiled.fieldName.toUpperCase())); 					
    		
    		if (isLeftSideEqual && isRightSideEqual) return true;					
    		
    		return false;
    	}

    Весьма сложнная проверка равенства, изпользуется некорректно ==

    vraptor, 25 Марта 2011

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

    +76

    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
    package somepackage;
    
    import  java.net.URL;
    import  javax.xml.namespace.QName;
    import  javax.xml.ws.Service;
                
    public class proxyClass {
        
        URL url = new URL("http://someserver/somepath/output?wsdl");
        QName qname = new QName("http://someserver/", "someservice");
    
        Service service = Service.create(url, qname);
    
        test someVar = service.getPort(test.class);
    
    }

    И почему же Eclipse ругается?

    lyric, 25 Марта 2011

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