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

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    StringUtils.join(
                    Collections2.transform(Arrays.asList(ArrayUtils.toObject(data)),
                            new Function<Byte, String>() {
    
                                @Override
                                public String apply(final Byte from) {
                                    return "0x" + Integer.toHexString(from);
                                }
                            }), " ")

    data имеет тип byte[]

    в питоне это было бы ' '.join(map(hex, data))

    burdakovd, 18 Октября 2010

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

    +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
    class LinkedListVector{
        public int crd;
        public int length;
        LinkedListVector head;
        LinkedListVector next;
        LinkedListVector prev;
        LinkedListVector(){
            this.head=this;
            this.prev=this;
            this.next=this;
            this.length=0;
        }
        LinkedListVector(int val){
            LinkedListVector save=this.head.prev;
            this.prev=this.head.prev;
            this.next=this.head;
            this.next.prev=this;
            save.next=this;
            this.head.length++;
            this.crd=val;
        }
    }

    Эпичнейшая попытка реализовать двусвязный циклический список.

    kir_rik, 18 Октября 2010

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

    +144

    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
    public void onMessage(final NetConnection connection, final NetMessage message) {
        final ClientConnection client = (ClientConnection) connection;
        if (message.isCommand(Protocol.CMD_LOGIN)) {
          if (this.auth(client,
              message.getParameter(Protocol.PARAM_NAME, String.class))) {
            final NetMutableMessage msgLogin = new NetMutableMessage(
                Protocol.CMD_LOGIN);
            msgLogin.addParameter(Protocol.PARAM_FROM, client.getNick());
            this.writeMessage(client, null, msgLogin);
          } else {
            this.removeConnection(client);
          }
        }
        if (message.isCommand(Protocol.CMD_LOGOUT)) {
          final NetMutableMessage msgLogout = new NetMutableMessage(
              Protocol.CMD_LOGOUT);
          msgLogout.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(client, null, msgLogout);
          this.removeConnection(client);
        }
        if (message.isCommand(Protocol.CMD_STATUS)) {
          final NetMutableMessage msgStatus = new NetMutableMessage(
              Protocol.CMD_STATUS);
          msgStatus.addParameter(Protocol.PARAM_TYPE,
              message.getParameter(Protocol.PARAM_TYPE));
          msgStatus.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(client, null, message);
          this.removeConnection(client);
        }
        if (message.isCommand(Protocol.CMD_USERS)) {
          final NetMutableMessage msgUsers = new NetMutableMessage(
              Protocol.CMD_USERS);
          msgUsers.addParameter("list", this.getUsers(connection));
          this.writeMessage(client, msgUsers, null);
        }
        if (message.isCommand(Protocol.CMD_SAY)) {
          final NetMutableMessage msgSay = new NetMutableMessage(Protocol.CMD_SAY);
          msgSay.addParameter(Protocol.PARAM_FROM, client.getNick());
          msgSay.addParameter(Protocol.PARAM_MESSAGE,
              message.getParameter(Protocol.PARAM_MESSAGE));
          if (null == message.getParameter(Protocol.PARAM_TO)) {
            this.writeMessage(client, msgSay, msgSay);
          } else {
            this.writeMessage(
                message.getParameter(Protocol.PARAM_TO, String.class), msgSay, null);
          }
        }
        if (message.isCommand(Protocol.CMD_MOVE)) {
          final NetMutableMessage msgMove = new NetMutableMessage(Protocol.CMD_MOVE);
          msgMove.addParameter(Protocol.PARAM_FROM, client.getNick());
          msgMove.addParameter(Protocol.PARAM_CODE,
              message.getParameter(Protocol.PARAM_CODE));
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgMove, null);
        }
        if (message.isCommand(Protocol.CMD_OFFER)) {
          final NetMutableMessage msgOffer = new NetMutableMessage(
              Protocol.CMD_OFFER);
          msgOffer.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgOffer, null);
        }
        if (message.isCommand(Protocol.CMD_ACCEPT)) {
          final NetMutableMessage msgAccept = new NetMutableMessage(
              Protocol.CMD_ACCEPT);
          msgAccept.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgAccept, null);
        }
        if (message.isCommand(Protocol.CMD_DECLINE)) {
          final NetMutableMessage msgDecline = new NetMutableMessage(
              Protocol.CMD_DECLINE);
          msgDecline.addParameter(Protocol.PARAM_FROM, client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              msgDecline, null);
        }
        if (message.isCommand(Protocol.CMD_END)) {
          final NetMutableMessage msgEnd = new NetMutableMessage(Protocol.CMD_END);
          msgEnd.addParameter("player1",
              message.getParameter(Protocol.PARAM_TO, String.class));
          msgEnd.addParameter("player2", client.getNick());
          this.writeMessage(message.getParameter(Protocol.PARAM_TO, String.class),
              null, msgEnd);
        }
      }

    нагкодил свежачок, прямиком из IDE Eclipse :)

    разрабатываю сетевую мини-игрушку с чатом. Данный метод -- из серверной части, где сервер принимает приходящие сообщения и реагирует на них.
    Обьем метода и однородность кусков намекает, что это пора рефакторить - вот думаю как.

    Lure Of Chaos, 17 Октября 2010

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

    +77

    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
    public void actionPerformed(ActionEvent e) {
                System.out.println("Przed utworzeniem resultseta");
                Statement stm=null;
                try{stm = Aplikacja.dajPolaczenieDB().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);}
                catch (SQLException ex){System.out.println("Wystąpił błąd przy próbie utworzemia Statement: "+ex.getLocalizedMessage());}
                String z_sql = "SELECT id,imie FROM crm_sl_imion";
                ResultSet rs=null;
                try{rs = stm.executeQuery(z_sql);}
                catch(SQLException e1){System.out.println("Wystąpił błąd przy próbie utworzeniu ResultSet'a: "+e1.getLocalizedMessage());}
                try{
                    System.out.println("Rozpoczynam transakcje");
                    Aplikacja.dajPolaczenieDB().setAutoCommit(false);
                }catch(SQLException e1){
                    System.out.println("Wystąpił błąd przy probie rozpoczęcia transkacji");
                }
                String z_insert="insert into crm_sl_imion(imie) values('Zdzisek')";
                Statement stm2=null;
                try{
                   stm2 = Aplikacja.dajPolaczenieDB().createStatement();
                }catch(SQLException e1){
                   System.out.println("Wystąpił błąd przy próbie utowrzenia drugiego Stadementa: "+e1.getLocalizedMessage());
                }
                try{
                   stm2.execute(z_insert);
                }catch(SQLException e1){
                   System.out.println("Wystąpił błąd przy próbie wykonywania sql'a: "+z_insert+", błąd: "+e1.getLocalizedMessage());
                }
                try{
                    System.out.println("Odwijam transakcje");
                    Aplikacja.dajPolaczenieDB().commit();
                    Aplikacja.dajPolaczenieDB().setAutoCommit(true);
                }catch(SQLException e1){
                    System.out.println("Wystąpił błąd przy odwijaniu transakcji");
                }
                try{
                while(rs.next()){
                    System.out.println("id: "+rs.getString("id")+" imie: "+rs.getString("imie"));
                }
                }catch(SQLException e2){
                    System.out.println("Wystąpił błąd przy próbie odczytania danych: "+e2.getLocalizedMessage());
                }
                try{
                    stm.close();
                    System.out.println("Po zamknięciu Statement'a");
                }catch(SQLException e1){
                    System.out.println("Wystąpił błąd przy próbie zamknięcia Statement'a");
                }
            }

    xaoc, 16 Октября 2010

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

    +122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    List<String> el=parseList();
    		Theme th=new Theme(id);
    
    		th.setScore=Integer.parseInt(el.get(1));
    		th.setComments=Integer.parseInt(el.get(2));
    		th.setAuthor=el.get(3);
    		th.setVisitors=Integer.parseInt(el.get(4));
    		th.setVisitorsLastWeek=Integer.parseInt(el.get(5));
    		th.eMail=el.get(5);
    		return th;

    3.14159265, 12 Октября 2010

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

    +114

    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
    public  void doGet(HttpServletRequest request, HttpServletResponse  response)
            throws IOException, ServletException {
    ....
              conn=getConnection();
              cst = conn.prepareCall("{?=call getSheetReviseResult(?)}",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
              cst.registerOutParameter(1, java.sql.Types.INTEGER);
              cst.setInt(2,DocId);
              cst.execute();
              rs=cst.getResultSet();
              StringBuffer buff = new StringBuffer(4096);
              response.setContentType("text/xml; charset=windows-1251");
              response.setHeader("Cache-Control", "no-cache");
              buff.append("<?xml version='1.0' encoding='windows-1251'?><result>");
              while (rs.next()){
                  buff.append("<login><![CDATA[");
                    buff.append(rs.getString(1));
                  buff.append("]]></login>");
                  buff.append("<name><![CDATA[");
                    buff.append(rs.getString(2));
                  buff.append("]]></name>");
                  buff.append("<bus><![CDATA[");
                    buff.append(rs.getString(3));
                  buff.append("]]></bus>");
                  buff.append("<error>");
                  buff.append(rs.getString(4));
                  buff.append("</error>");
             }
             buff.append("</result>");
        response.getOutputStream().write(buff.toString().getBytes("windows-1251"));

    достался в наследство большой пак с сервлетами.
    все написаны примерно таким вот образом

    3.14159265, 11 Октября 2010

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

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    double a = 47, b = 94;
    
            for (;; a += .5, b -= .5) {
                if (a == b) {
                    System.out.println(a);
                    break;
                }
            }

    ...ищем среднее.. (a+b)/2 категорически нельзя..

    Bodia, 09 Октября 2010

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

    +144

    1. 1
    http://forums.sun.com/thread.jspa?threadID=5213426

    по ссылке длииииииииинный сплошь китайский код. Особенно красиво гипнотизироваться, крутя колесиком мышки вверх-вниз.

    каменный век в виртуальности, сколько ж можно?

    Lure Of Chaos, 18 Сентября 2010

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

    +144

    1. 1
    2. 2
    // указываем какие label делать подчеркнутыми
    setMarked(new boolean[] {false, true, true, true, true, true, true, false, true, false, false, false, false, true, true, false});

    borka, 16 Сентября 2010

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

    +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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    public class ServiceRunner implements Runnable {
        
        Thread thread = null;
        ServiceUI service;
        public ServiceRunner(ServiceUI service) {       
            this.service = service;
        }
        
        public void start() {
            this.thread = new Thread(this);
            this.thread.start();
        }
    
        public void run() {        
            while (true) {            
                this.service.receiveMessages();            
                try {
    	 	this.thread.sleep(CommonConst.INTERVAL_SERVICE * 1000);
    	    } catch (java.lang.InterruptedException e) {
                    Log.log(Log.ERROR,this,e);
    	}
            this.service.sendMessages();        
            try {
    	       this.thread.sleep(CommonConst.INTERVAL_SERVICE *1000);
    	} catch (java.lang.InterruptedException e) {
                   Log.log(Log.ERROR,this,e);
    	}
        }
        
    }

    очень удивляют предыдущие разрабочтики продукта своими понятиями о потоках в Java

    qnikst, 12 Сентября 2010

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