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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    protected static final Set<String> SUCCESS_STATUSES = new HashSet<String>(3) {
        private static final long serialVersionUID = 76234654856701L;{
        add(PROCESSING_COMPLETE_RESULTS_CLEAR.toString());
        add(PROCESSING_COMPLETE_WITH_RESULTS_INFORMATION.toString());
        add(NOT_PROCESSED_STATE_LIMITATION.toString());
    }};

    Эпичный способ создать статическую константную мапу без статического блока в основном классе

    roman-kashitsyn, 10 Ноября 2011

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

    +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
    public synchronized void add(Object obj){
    
    		if (!sequence.isEmpty()) {
    			if (sequence.size() == maxSize) {
    				sequence.remove(0);
    				sequence.add(obj);		
    			}
    			else 
    				sequence.add(obj);		
    		} 
    		
    		if (sequence.isEmpty()) 
    			sequence.add(obj);  
    		
    			
    		notifyAll();
    	}

    Альтернативный else.

    Connector, 09 Ноября 2011

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    @Override protected void finalize()
    {
        Runtime.addShutdownHook();
    }

    Здесь без комментариев...

    dwinner, 09 Ноября 2011

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

    +94

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    @Override public int hashCode()
        {
            int hash = 7;
            return hash;
        }

    Ну это явно хит!

    dwinner, 06 Ноября 2011

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

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    // Gets the starting position for the endtag of the first element in text.
        private int getEndTagPosition(String element, String text) {
            String startTag = "<" + element;
            String endTag = "</" + element;
            int nestingLevel = 1;
            int end = 0;
            int startPos = 1;
    
            while (nestingLevel > 0) { // loop until matching endtag is found
                int start = text.indexOf(startTag, startPos);
                end = text.indexOf(endTag, startPos);
    
                if ((start == -1) || (start > end)) {   // next tag is an endtag
                    nestingLevel--;
                    startPos = end + 1;
                } else {    // next tag is a starttag
                    nestingLevel++;
                    startPos = start + 1;
                }
            }
    
            return end;
        }

    euee, 03 Ноября 2011

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

    +71

    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
    /**
     * @see ru.dwin.inbox.gtk.videotypes.IVideo#startPlay(int)
     */
    @Override public void startPlay(int delay)
    {
        try
        {
            Thread.sleep(delay * 1000);
        }
        catch (InterruptedException e1)
        {
            RestartAllThreads();     
        }
        if (theTimer == null)
        {
            theTimer = new Timer(ASECOND, new ActionListener()
            {
                @Override public void actionPerformed(ActionEvent e)
                {
    	if (elapsedTime >= getDuration())
    	{
    	    theTimer.stop();
    	    resetPlay();
    	    Toolkit.getDefaultToolkit().beep();
    	}
    	else
    	{
    	    elapsedTime += (int) ASECOND / 1000;
    	    notifyAddedRenderers(USwingWorker.ALL);
                    }
                }
            });
        }
        else
        {
            theTimer.start();
        }
    }

    Играть через ХЗ сколько секунд...

    dwinner, 03 Ноября 2011

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

    +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
    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
    private Connection getConnection() throws SQLException {
    		Connection conn = null;
    		try{
    			conn = DriverManager.getConnection(OnlineUsers.db,OnlineUsers.user,OnlineUsers.pass);
    		} catch (Exception e) {
    			log.severe(name + ": " + e.getMessage());
    		}
    		checkConnection(conn);
    		return conn;
    	}
    	
    	private boolean checkConnection (Connection conn) throws SQLException {
    		if (conn == null) {
    				log.severe("Could not connect to the database. Check your credentials in online-users.settings");
    			throw new SQLException();
    		}
    		if (!conn.isValid(5)) {
            	log.severe("Could not connect to the database.");
            	throw new SQLException();
            }
    		return true;
    	}
    	
    	private boolean execute(String sql) {
    		return execute(sql, null);
    	}
    	
    	private boolean execute(String sql, String player) {
    		Connection conn = null;
            PreparedStatement ps = null;
            try {
            	conn = getConnection();
            	ps = conn.prepareStatement(sql);
            	if (player != null && !player.equalsIgnoreCase("")) {
            		ps.setString(1, player);
            	}
            	
            	if (ps.execute()) {
            		return true;
            	}
            } catch (SQLException ex) {
            	log.severe(name + ": " + ex.getMessage());
            	String msg = name + ": could not execute the sql \"" + sql + "\"";
            	if (player != null ) {
            		msg += "    ?=" +player;
            	}
            	log.severe(msg);
            } finally {
                try {
                    if (ps != null) {
                        ps.close();
                    }
                    if (conn != null) {
                        conn.close();
                    }
                } catch (SQLException ex) {
                	log.severe(name + ": " + ex.getMessage());
                }
            }
            return false;
    	}

    Мартин, 02 Ноября 2011

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

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    private enum UpdateToken {
        W, A, F, D, H;
    
        private static final Pattern PATTERN = compilePattern(UpdateToken.class);
    }
    
    private static Pattern compilePattern(Class<? extends Enum> clazz) {
        StringBuilder builder = new StringBuilder("(");
        for (Enum enumConstant : clazz.getEnumConstants()) {
            if (enumConstant.ordinal() > 0) {
                builder.append("|");
            }
            builder.append(enumConstant.name());
        }
        builder.append(")");
        return Pattern.compile(builder.toString());
    }
    
    //и это добро вот так используется:
    
        if (!UpdateToken.PATTERN.matcher(token).matches()) {
            continue;
        }
        UpdateToken setupToken = UpdateToken.valueOf(token);

    https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/java/AbstractSystemInputParser.java

    rat4, 01 Ноября 2011

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

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    int i128 = 0, i256 =0, i384=0, i512=0, i640=0, i786=0, i896=0, i1024=0, i1152=0, i1280=0, i1408=0, i1536=0;
            for (int index: data) {
                if (index>max) max = index;
                if (min>index) min = index;
                if (0<=index & index<128) i128++;
                else if (128<=index & index<256) i256++;
                else if (256<=index & index<384) i384++;
                else if (384<=index & index<512) i512++;
                else if (512<=index & index<640) i640++;
                else if (640<=index & index<786) i786++;
                else if (786<=index & index<896) i896++;
                else if (896<=index & index<1024) i1024++;
                else if (1024<=index & index<1152) i1152++;
                else if (1152<=index & index<1280) i1280++;
                else if (1280<=index & index<1408) i1408++;
                else if (1408<=index & index<1536) i1536++;

    Считаем количество попаданий index в различные диапазоны значений.

    betastat, 01 Ноября 2011

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

    +80

    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
    @Deprecated
        private byte getLoByte(int i) {
            byte ret = 0x00;
            String hex = Integer.toHexString(i);
            int length = hex.length();
            if (length == 1) {
                ret = Integer.valueOf(hex.substring(length - 1), 16).byteValue();
            } else if (length >= 2) {
                ret = Integer.valueOf(hex.substring(length - 2), 16).byteValue();
            }
            return ret;
        }
    
        @Deprecated
        private byte getHiByte(int i) {
            String hex = Integer.toHexString(i);
            byte ret = 0x00;
            int length = hex.length();
            if (length > 3) {
                ret = Integer.valueOf(hex.substring(length - 4, length - 2), 16).byteValue();
            } else if (length == 3) {
                ret = Integer.valueOf(hex.substring(length - 3, length - 2), 16).byteValue();
            }
            return ret;
        }

    Вытаскивание старшего и младшего байтов числа из последних одного или двух байтов

    as1an, 01 Ноября 2011

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