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

    +145

    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
    private static List<Writer> getWriters(final String className, final Severity severity) {
        final List<Writer> writers = new ArrayList<Writer>();
        if ((className != null) && (severity != null)) {
          final Writer writer = Log.writers.get(className + severity);
          if ((writer != null) && !writers.contains(writer)) {
            writers.add(writer);
          }
        }
        if ((className != null)) {
          final Writer writer = Log.writers.get(className);
          if ((writer != null) && !writers.contains(writer)) {
            writers.add(writer);
          }
        }
        if ((severity != null)) {
          final Writer writer = Log.writers.get(severity.name());
          if ((writer != null) && !writers.contains(writer)) {
            writers.add(writer);
          }
        }
        {
          final Writer writer = Log.writers.get(null);
          if ((writer != null) && !writers.contains(writer)) {
            writers.add(writer);
          }
        }
        return writers;
      }
    
    
      public static void setWriter(final String className, final Severity severity, final Writer writer) {
        final Writer w = writer == null ? new OutputStreamWriter(System.err) : writer;
        if ((className != null) && (severity != null)) {
          Log.writers.put(className + severity, w);
          if (Log.writers.get(className) == null) {
            Log.writers.put(className, w);
          }
          if (Log.writers.get(severity.name()) == null) {
            Log.writers.put(className, w);
          }
        } else if (className != null) {
          Log.writers.put(className, w);
        } else if (severity != null) {
          Log.writers.put(severity.name(), w);
        } else {
          Log.writers.put(null, w);
        }
      }

    изобретаю велосипед

    Lure Of Chaos, 04 Января 2011

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

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public class LessOperator extends GreaterOperator {
        public Object evaluateNode(ITreeNode node, List<NodeValuePair> list) throws CalculatorException {
            return !(Boolean)super.evaluateNode(node, list);
        }
    }

    Видимо тут программист решил сократить себе работу и реализовал оператор сравнения "меньше" как "не больше", использовав готовую реализацию оператора "больше".
    В результате вместо операции "меньше" получили операцию "меньше или равно".

    borka, 30 Декабря 2010

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

    +73

    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 abstract class EntityCRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter, DaoObject extends GenericDao<DataObject, DataKey>>
    		extends EntityManager<DaoObject> implements CRUDManager<DataObject, DataKey, Filter> {
    ...
    }
    
    public interface CRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter>{
    ...
    }
    
    public abstract class EntityManager<DaoObject extends GenericDao> extends Manager{
    ...
    }

    Во как!!!

    KILA, 23 Декабря 2010

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

    +82

    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
    /**
     * Delete. * 
     * @param entity the entity 
     * @return true, if successful 
     */ 
    public boolean delete(T entity) {
     	boolean deleted=false; 
    	getSession().delete(entity); 
    	flush(); 
    	//when no hibernate runtime exception has arised...set to true.
    	deleted = true;
    	return deleted;
    }

    Our lovely tech lead has written this

    vovano, 21 Декабря 2010

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

    +81

    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
    // gotta love this hack
        final private static String PADDING =
                "                                                                                   ";
    
        private static String stringFormat(String stringToFormat, int fieldSize, boolean rightJustify) {
            // and Java doesn't really excel at this kind of thing either
            if (stringToFormat.length() >= fieldSize) {
                return stringToFormat.substring(0, fieldSize);
            } else {
                return rightJustify ?
                        PADDING.substring(0, fieldSize - stringToFormat.length()) + stringToFormat:
                        stringToFormat + PADDING.substring(0, fieldSize - stringToFormat.length());
            }
        }

    Smoke, 21 Декабря 2010

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

    +81

    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
    public static void createShotAndSend() {
            Toolkit tool = Toolkit.getDefaultToolkit();
            Dimension screen = tool.getScreenSize();
    
            int w = screen.width;
            int h = screen.height;
            
            int x = MouseInfo.getPointerInfo().getLocation().x-W/2;
            int y = MouseInfo.getPointerInfo().getLocation().y-H/2;
    
    
            if(x == ox && y == oy) {
                return;
            }
    
            ox = x;
            oy = y;
    
            int sx = Math.min(Math.max(x, 0), w-W);
            int sy = Math.min(Math.max(y, 0), h-H);
    
            BufferedImage capture;
            try {
                capture = (new Robot()).createScreenCapture(new Rectangle(sx, sy, W, H));
            } catch (AWTException ex) {
                System.err.println("Failed screen capturing!");
                return;
            }
    
            ByteArrayOutputStream data = new ByteArrayOutputStream();
            try {
                ImageIO.write(capture, "JPG", data);
            } catch (IOException ex) {
                System.err.println("Failed writing capture!");
                return;
            }
    
            byte[] toSend = data.toByteArray();
            int l = data.size();
            byte[] size = itob(l);
    
            //pool - Client[]
            for(int i = 0; i < pool.length; i++) {
                if(pool[i] == null) continue;
                if(!pool[i].isActive()) continue;
    
                pool[i].send(size, 0, 4);
                pool[i].send(toSend, 0, l);
            }
        }

    делаем скриншот. квадратом в 100 пикселей (курсор в центре).

    danilissimus, 19 Декабря 2010

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private String get4DigitRandom() {
            final int length = 4;
            int number = (int) (Math.random() * Math.pow(10, length));
            StringBuilder sb = new StringBuilder();
            for (int i = length; i > 0; i--)
                sb.append("" + (int) (number / Math.pow(10, i - 1)) % 10);
    
            return sb.toString();
        }

    yozh, 17 Декабря 2010

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

    +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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    public class HttpServer {
    
        public static void main(String[] args) throws Throwable {
            ServerSocket ss = new ServerSocket(8080);
            while (true) {
                Socket s = ss.accept();
                System.err.println("Client accepted");
                new Thread(new SocketProcessor(s)).start();
            }
        }
    
        private static class SocketProcessor implements Runnable {
    
            private Socket s;
            private InputStream is;
            private OutputStream os;
    
            private SocketProcessor(Socket s) throws Throwable {
                this.s = s;
                this.is = s.getInputStream();
                this.os = s.getOutputStream();
            }
    
            public void run() {
                try {
                    readInputHeaders();
                    writeResponse("<html><body><h1>Hello from Habrahabr</h1></body></html>");
                } catch (Throwable t) {
                    /*do nothing*/
                } finally {
                    try {
                        s.close();
                    } catch (Throwable t) {
                        /*do nothing*/
                    }
                }
                System.err.println("Client processing finished");
            }
    
            private void writeResponse(String s) throws Throwable {
                String response = "HTTP/1.1 200 OK\r\n" +
                        "Server: YarServer/2009-09-09\r\n" +
                        "Content-Type: text/html\r\n" +
                        "Content-Length: " + s.length() + "\r\n" +
                        "Connection: close\r\n\r\n";
                String result = response + s;
                os.write(result.getBytes());
                os.flush();
            }
    
            private void readInputHeaders() throws Throwable {
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                while(true) {
                    String s = br.readLine();
                    if(s == null || s.trim().length() == 0) {
                        break;
                    }
                }
            }
        }
    }

    Это весь код вебсервера.
    К слову сказать, это от сюда:
    http://habrahabr.ru/blogs/java/69136/

    Говногость, 17 Декабря 2010

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

    +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
    /**
     * произвольные группы районов
     */
    public enum DistrictGroup {
    /*...*/
        public int getOrdinal() {
        	for (int i = 0; i < values().length; i++) {
        		if (this == values()[i]) {
        			return i;
        		}
        	}
        	throw new Error("no ordinal found"); // never can be
        }
    }

    Вот так пишут выпускники ВМК МГУ.

    yvu, 16 Декабря 2010

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

    +85

    1. 1
    while (r == BigInteger.ONE.subtract(BigInteger.ONE)) {...}

    брутальный 0 и не менее брутальное сравнение объектов...

    dfn, 12 Декабря 2010

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