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

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

    +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
    public static java.sql.Date StringToDate(String sDate) {
    	java.sql.Date Date = null;
    	if (!sDate.startsWith("00000000")) {
    		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    		try {
    			Date rdate = dateFormat.parse(sDate);
    			Date = new java.sql.Date(rdate.getTime());
    		} catch (Exception e) {
    		}
    	}
    	return Date;
    }

    foGa, 12 Августа 2011

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

    +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
    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
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    public class ThreadPoolExecutor implements Executor {
    	private int maximumPoolSize; 	// ìàêñèìàëüíîå êîëè÷åñòâî ïîòîêîâ
    	private long keepAliveTime; 	// âðåìÿ îæèäàíèÿ íîâîé çàäà÷è
    	private Integer poolSize;			// êîëè÷åñòâî ñîçäàííûõ ïîòîêîâ
    	private Vector workQueue;			// î÷åðåäü çàäà÷
    	private Vector threadPool;			// ïóë ïîòîêîâ
    
    	public ThreadPoolExecutor(int maxPoolSize, long time) {
    		this.maximumPoolSize = maxPoolSize;
    		this.keepAliveTime = time;
    		this.poolSize = new Integer(0);
    		workQueue = new Vector();
    		threadPool = new Vector();
    		new Thread() {	
    			public void run() {
    				for (;;) {
    					try {
    						Thread.sleep(keepAliveTime);
    					} catch (InterruptedException e) {
    						System.out.println("interrupted");
    					}
    					interruptIfIdle();
    				}
    			}
    		}.start();
    	}
    
    	public void execute(Runnable task) {
    		if (task == null)
    			throw new NullPointerException();
    		workQueue.addElement(task);
    		for (;;) {
    			int status = addIfUnderMaximumPoolSize(task);
    			if (status > 0)
    				return;
    			if (status == 0) {
    				reject(task);
    				return;
    			}
    		}
    	}
    	
    	public void shutdown() {
    		if (threadPool.size() > 0) 
    			for (int i=0; i < threadPool.size(); i++) {
    				((Thread) threadPool.elementAt(i)).interrupt();
    			}
    	}
    	
    	public void reject(Runnable task) {
    		//
    	}
    	
    	private int addIfUnderMaximumPoolSize(Runnable task) {
    		Thread t = null;
    		int status = 0;
    		synchronized (poolSize) {
    			if (poolSize.intValue() < maximumPoolSize) {
    				Runnable next = (Runnable) workQueue.elementAt(0);
    				workQueue.removeElementAt(0);
    				if (next == task) {
    					status = 1;
    				} else
    					status = -1;
    				t = addThread(next);
    			}	
    		}
    		return status;
    	}
    	
    	private Thread addThread(Runnable task) {
    		Thread thread = new Thread(task);
    		threadPool.addElement(thread);
    		thread.run();
    		poolSize = new Integer(poolSize.intValue()+1);
    		return new Thread();
    	}
    		
    	private void interruptIfIdle() {
    		synchronized (threadPool) {
    			for (int i=0; i < threadPool.size(); i++) {
    				try {
    					((Thread) threadPool.elementAt(i)).interrupt();
    				} finally {
    					poolSize = new Integer(poolSize.intValue()-1);
    				}
    			}
    		}
    	}
    	
    }

    Junior пишет весьма упрощенный ThreadPoolExecutor для BlackBerry (сорри, не тот пост кинул в прошлый раз).

    enikey, 04 Августа 2011

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    @Column(name = "IS_DEFAULT", unique = false, nullable = true, insertable = true, updatable = true, length = 1)
    private String isDefault;
    
    ......
    
    if (b.getIsDefault().equals("N"))...

    Created by: Sudharsan Veluru

    artureg, 02 Августа 2011

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

    +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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    public class ValueList< T > implements Cloneable
    {
        public ValueList() { }
    
        public void addValue( final T value ) {
            list.add( value );
        }
    
        @Override
        @SuppressWarnings( { "unchecked", "unchecked" } )
        public Object clone() throws CloneNotSupportedException {
            super.clone();
            ValueList< T > object = new ValueList< T >();
            List< T > objectList = object.getList();
            objectList = ( List< T > )list.clone();
            for( int index = 0; index < list.size() ; ++index ) {
                objectList.set( index, ( Object )list.get( index ).clone() );
            }
            return object;
        }
    
        public List< T > getList() {
            return list;
        }
    
        private ArrayList< T > list = new ArrayList< T >();
    }

    Человек из соседнего отдела порадовал...

    SadKo, 20 Июня 2011

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

    +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
    17. 17
    18. 18
    19. 19
    20. 20
    List<Record> getNewestRecords( int maxResults ) {
      List<TenantIssue> allRecords = recordsDao.getAllRecords();
      
      if ( allRecords.size() > maxResults ) {
        Collections.sort( allRecords, new Comparator() { 
          public int compare( Record r1, Record r2 ) {
            return (int) r1.getDate().getTime() - r2.getDate().getTime();
          } 
        } );
        Collections.reverse( allRecords );
        
        List<Record> newestRecords = new ArrayList<Record>();
        for ( int i = 0; i < maxResults; i++ ) {
          newestRecords.add( allRecords.get( i ) );
        }
      } else {
        return allRecords;
      }
      return allRecords;
    }

    galak, 13 Июня 2011

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    public static int toGrid(int val, int cell)
    {
    	   return val/cell*cell; // embracing eternity!
    }

    dveyarangi, 02 Июня 2011

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

    +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
    17. 17
    private void listGSNames()
    	{
    		int idMaxLen = 0;
    		int nameMaxLen = 0;
    		for (Entry<Integer, String> e : GameServerTable.getInstance().getServerNames().entrySet())
    		{
    			if (e.getKey().toString().length() > idMaxLen)
    			{
    				idMaxLen = e.getKey().toString().length();
    			}
    			if (e.getValue().length() > nameMaxLen)
    			{
    				nameMaxLen = e.getValue().length();
    			}
    		}
    /* Some Code */
    }

    Отрезок из регистратора игрового сервера Lineage от команды L2jServer.
    e.getKey().toString().length() - Приведение к строке, потом определение строки. Выглядит зрелищно! =)

    Akira, 01 Июня 2011

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public int getCount() {
    	return mViewMap == null
    			? mChannelList == null ? 0 : mChannelList.size()
    			: mViewMap.size();
    }

    ZaDroid, 06 Мая 2011

    Комментарии (9)
  10. 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)
  11. 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)