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

    +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
    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
    public static class TrollException extends RuntimeException {
            @Override
            public String getMessage() {
                throw new TrollException();
            }
    
            @Override
            public String getLocalizedMessage() {
                throw new TrollException();
            }
    
            @Override
            public Throwable getCause() {
                throw new TrollException();
            }
    
            @Override
            public synchronized Throwable initCause(Throwable cause) {
                throw new TrollException();
            }
    
            @Override
            public String toString() {
                throw new TrollException();
            }
    
            @Override
            public void printStackTrace() {
                throw new TrollException();
            }
    
            @Override
            public void printStackTrace(PrintStream s) {
                throw new TrollException();
            }
    
            @Override
            public void printStackTrace(PrintWriter s) {
                throw new TrollException();
            }
    
            @Override
            public synchronized Throwable fillInStackTrace() {
                throw new TrollException();
            }
    
            @Override
            public StackTraceElement[] getStackTrace() {
                throw new TrollException();
            }
    
            @Override
            public void setStackTrace(StackTraceElement[] stackTrace) {
                throw new TrollException();
            }
        }

    kadavrrr, 06 Августа 2012

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    } catch (CacheException e) {
    	e.printStackTrace();
    } catch (Exception e) {
    	e.printStackTrace();
    }

    Привет из Индии

    dzagy, 06 Августа 2012

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

    +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
    if (scannedLiteralType.compareTo("<!") == 0) {
              if (textPosition + 5 < text.length) {
                if (scannedByte == (byte)'[') {
                  if (text[textPosition] == (byte)'C') {
                    if (text[textPosition + 1] == (byte)'D') {
                      if (text[textPosition + 2] == (byte)'A') {
                        if (text[textPosition + 3] == (byte)'T') {
                          if (text[textPosition + 4] == (byte)'A') {
                            if (text[textPosition + 5] == (byte)'[') {
                              scanByte();
                              scanByte();
                              scanByte();
                              scanByte();
                              scanByte();
                              scanByte();
                              scanByte();
                              Element childNode = createNode("");
                              node.addChild(childNode);
                              scanBytes("]]>".getBytes(), false);
                              byte[] bytes = new byte[literalPosition - 1];
                              System.arraycopy(literal, 0, bytes, 0, literalPosition - 1);
                              try {
                                String string = new String(bytes, encoding);
                                childNode.setValue(string);
                                childNode.setIdentifier("<![SDATA[]]");
                              } catch (Exception exception) {
                                childNode.setValue(bytes);
                                childNode.setIdentifier("<![CDATA[]]");
                              }
                              scanByte();
                              scanByte();
                              scanByte();
                              scanToken();
                              continue;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }

    проверка "CDATA"

    nesferatos, 06 Августа 2012

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

    +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
    @Override
    public boolean equals(Object obj) {
        boolean answer = false;
        if (obj instanceof Date) {
            Date d = (Date)obj;
            answer = (this.value.equals(d));
        } else if (obj instanceof String) {
            Date d = parse((String)obj);
            answer = (this.value.equals(d));
        } else if (obj instanceof Calendar) {
            Calendar c = (Calendar)obj;
            answer = (this.value.equals(c.getTime()));
        } else if (obj instanceof AtomDate) {
            Date d = ((AtomDate)obj).value;
            answer = (this.value.equals(d));
        }   
        return answer;
    }

    Симметрия отношения эквивалентности? Не, не слышал.

    roman-kashitsyn, 05 Августа 2012

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

    +90

    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
    public enum TimeUnit {
       NANOSECONDS {
            public long toNanos(long d)   { return d; }
            public long toMicros(long d)  { return d/(C1/C0); }
            public long toMillis(long d)  { return d/(C2/C0); }
            public long toSeconds(long d) { return d/(C3/C0); }
            public long toMinutes(long d) { return d/(C4/C0); }
            public long toHours(long d)   { return d/(C5/C0); }
            public long toDays(long d)    { return d/(C6/C0); }
            public long convert(long d, TimeUnit u) { return u.toNanos(d); }
            int excessNanos(long d, long m) { return (int)(d - (m*C2)); }
        }
    ....
        public long convert(long sourceDuration, TimeUnit sourceUnit) {
            throw new AbstractMethodError();
        }
    
     
        public long toNanos(long duration) {
            throw new AbstractMethodError();
        }
    
      
        public long toMicros(long duration) {
            throw new AbstractMethodError();
        }
    
        public long toMillis(long duration) {
            throw new AbstractMethodError();
        }
    
     
        public long toSeconds(long duration) {
            throw new AbstractMethodError();
        }
    
      
        public long toMinutes(long duration) {
            throw new AbstractMethodError();
        }
    
      
        public long toHours(long duration) {
            throw new AbstractMethodError();
        }
    
     
        public long toDays(long duration) {
            throw new AbstractMethodError();
        }
    
      
        abstract int excessNanos(long d, long m);
    }

    Но зачем?

    3.14159265, 02 Августа 2012

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

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public static class FuckMeGentlyWithAChainsaw {
        /* This wrapper class exists to work around the possibly most
        * stupid Java bug ever (and that's saying a lot): That
        * URL.equals and URL.hashCode do DNS lookups and
        * block. Which, of course, not only sucks performance-wise
        * but also breaks actual correct URL equality. */
        public final URL url;
        public FuckMeGentlyWithAChainsaw(URL url) {
            this.url = url;
        }
    }

    Код из клиента одной онлайн игрушки, процитирован дословно.

    bormand, 31 Июля 2012

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

    +62

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public synchronized void changePassword(String password, int id){
    		try {
    			Connection conn = Db.getInstance().createConnection();
    			Statement stmt = conn.createStatement();
    			String sql = "UPDATE "+tableName+"SET `password` ='"+password+"' WHERE `userId` ="+id+"";
    			stmt.executeUpdate(sql);
    		}
    		catch(Exception ex){
    			Logger.writeToFile("Exception occured " + ex.toString());
    		}
    	}

    Типичная лаба

    qsort, 30 Июля 2012

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

    +81

    1. 1
    2. 2
    3. 3
    if (uf.getPath().contains("d:/test.java/uploads/")) {
       uf.setPath(uf.getPath().replace("d:/test.java/uploads/", this.uploadPath));
    }

    хуита, 29 Июля 2012

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

    +79

    1. 1
    String url = m_launchUrl.replaceAll(" ", "%20");

    Percent-encode по-Адобовски.

    http://svn.apache.org/repos/asf/incubator/flex/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/PlayerSession.java

    wvxvw, 29 Июля 2012

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

    +100

    1. 1
    2. 2
    3. 3
    synchronized(new Object()){
    ...
    }

    http://stackoverflow.com/questions/9840959/how-to-judge-which-object-to-be-synchronized-in-java-thread

    3.14159265, 27 Июля 2012

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