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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    top = width / 2d;
    bottom = width / 2d;
    left = height / 2d;
    right = height / 2d;

    Из-за данного участка кода было убито очень много нервова

    AngryBobby, 23 Марта 2011

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

    +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
    int cont = 1;
    String d01 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    String d02 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    ....
    String d36 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    
    ...
    
    os.write(d01.getBytes("UTF-8"));
    os.write(d02.getBytes("UTF-8"));
    ...
    os.write(d36.getBytes("UTF-8"));

    Генерация какого-то файла :)

    voice, 17 Марта 2011

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

    +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
    private void configComponents(/* params */) throws MyException {
    	String err_msg = null;
    	try {
    		// some code here...
    		return;
    	} catch (ComponentConfigurationException e) {
    		err_msg = e.getMessage();
    	} catch (MyException e) {
    		err_msg = e.getMessage();
    	} catch (Exception e) {
    		err_msg = setupProcessErrorMessage;
    	}
    	throw new MyException(err_msg);
    }

    А rethrowing у нас уже не в почете. Правильно контрагаить ретурном из трай-секции и выбросом исключения, если трай-секция не дожила до ретурна.

    mdcool, 16 Марта 2011

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

    +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
    //skipped
            b1 = new JButton("Disable middle button", leftButtonIcon);
            b1.setVerticalTextPosition(AbstractButton.CENTER);
            b1.setHorizontalTextPosition(AbstractButton.LEADING); //aka LEFT, for left-to-right locales
            b1.setMnemonic(KeyEvent.VK_D);
            b1.setActionCommand("disable");
            b1.addActionListener(this);
    
    }
    
     public void actionPerformed(ActionEvent e) {
            if ("disable".equals(e.getActionCommand())) {
                b2.setEnabled(false);
                b1.setEnabled(false);
                b3.setEnabled(true);
            } else {
                b2.setEnabled(true);
                b1.setEnabled(true);
                b3.setEnabled(false);
            }

    из мануала на oracle.com. Что действительно так нужно обрабатывать события?

    KoirN, 11 Марта 2011

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

    +127

    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
    private String addZero(String num){
        String res = null;
      	if (num.length() == 1){
    		res = "0" + num;
    	}else{
    		res = num;
    	}
    	return res;
      }
    .........
    	String Y = request.getParameter("sdYear");
    	String M = request.getParameter("sdMonth");
    	String D = request.getParameter("sdDay");
    	String sd = null, fd = null;
    	if ((Y != null)&&(M != null)&&(D != null)&&(Y.length() > 0)&&(M.length() > 0)&&(D.length() > 0)){
    		sd = Y + addZero(M) + addZero(D);
    	} else {
    		sd = "*";
    	}
    	Y = request.getParameter("fdYear");
    	M = request.getParameter("fdMonth");
            D = request.getParameter("fdDay");
    	if ((Y != null)&&(M != null)&&(D != null)&&(Y.length() > 0)&&(M.length() > 0)&&(D.length() > 0)){
    		fd = Y + addZero(M) + addZero(D);
    	} else {
    		fd = "*";

    учитесь работать с датой

    3.14159265, 11 Марта 2011

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

    +146

    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
    import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.
    *;class T extends JFrame implements Runnable{int C=10,R=20,S=R,i,j,r,l,b;int[][]
    M=new int[C][R];T(){setBounds(100,100,C*S,R*S);setDefaultCloseOperation(3);t();
    new Thread(this).start();}protected void processKeyEvent(KeyEvent e) {int v=e.
    getKeyCode();if(v==37)l=1;if(v==39)r=1;repaint();}void n(){b=0;l=0;for(i=0;i<C;i
    ++)for(j=0;j<R;j++){if (b>0)break;if(M[i][j]==9){if(i>1){M[i][j]=0;M[i-1][j]=9;}
    else b=1;}}}void o(){b=0;r=0;for(i=C-1;i>=0;i--)for(j=0;j<R;j++){if(b>0)break;if
    (M[i][j]==9){if(i<C-1){M[i][j]=0;M[i+1][j]=9;}else b=1;}}}public void paint
    (Graphics g){super.paint(g);for(i=0;i<C;i++)for(j=0;j<R;j++){int m=M[i][j];if(m
    !=0)g.drawRect(i*S,j*S,S,S);}}public static void main(String[]a){new T().
    setVisible(true);}public void run(){for(;;){try{Thread.sleep(200);}catch(
    Exception e){}if(r>0)o();if(l>0)n();b=0;for(i=C-1;i>=0;i--)for(j=R-1;j>=0;j--){
    if (b>0)break;if(M[i][j]==9)if(j<R-1){if(M[i][j+1]==0){if(!isCan()){t();b=1;
    break;}M[i][j]=0;M[i][j+1]=9;}else{t();b=1;break;}}else{t();b=1;break;}}repaint(
    );}}boolean isCan(){int j,i;for(i=0;i<C;i++)for(j=0;j<R;j++){if(j<R-1&&M[i][j]>8
    &&M[i][j+1]==1)return false;}return true;}void t(){int i,j;for(i=C-1;i>=0;i--)
    for (j=R-1;j>=0;j--)M[i][j] = M[i][j]!=0?1:0;for(j=0;j<R;j++)for(i=0;i<C;i++){}
    Random r=new Random();int s=r.nextInt(3);M[4][0]=9;switch(s){case 0:M[5][0]=9;M[
    5][1]=9;break;case 1:M[4][1]=9;M[5][0]=9;M[5][1]=9;break;case 2:M[4][1]=9;M[4][2
    ]=9;M[4][3]=9;break;}}}

    JSwing тетрис : 20 строчек

    Egor, 09 Марта 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    package t;import java.awt.*;import java.awt.event.*;import javax.swing.*;class M
    extends JFrame implements Runnable{int T=100,s,W=500,H=W,x=T,l=10,y,i,S,L;M(){
    setBounds(T,T,W,H);new Thread(this).start();}public void paint(Graphics g){super
    .paint(g);g.drawOval(x,y,l,l);g.drawRect(i,H-l,T,l);g.drawString("Sco "+s,l,T);}
    public void processKeyEvent(KeyEvent e){int k=e.getKeyCode();if(k==37)i-=l;if(k
    ==39)i+=l;super.processKeyEvent(e);}public static void main(String[]args){new M(
    ).setVisible(true);}public void run(){while(true){try{Thread.sleep(5);}catch
    (Exception e){}x+=S==0?1:-1;y+=L==0?1:-1;if(y>H-l){if(x>i&&x<i+T){s++;}else{S=0;
    L=0;x=T;y=0;}}if(x>W-l)S=1;if(x<l)S=0;if(y>H-l)L=1;if(y<l)L=0;repaint();}}}

    рабочий JSwing теннис :9 строчек

    Egor, 09 Марта 2011

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

    +72

    1. 1
    Object key = (Object) (iterator.next());

    alt, 08 Марта 2011

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

    +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
    for (FileItem item : items) {
        try {
            item.write(new File(repo 
                    + System.currentTimeMillis() 
                    + "_" + item.getName()));
        } catch (Exception ex) {
            log.error(ex, ex);
        }
        mav.addObject("result", "http://xxx.xx/uploads/"
                + System.currentTimeMillis() 
                + "_" + item.getName());
    }

    долго думал почему имя файла на диске не совпадает с именем в ссылке.

    zlob.jc, 05 Марта 2011

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function formatSpeedBits(speed) {
    	// format speed in bits/sec, input: bytes/sec
    	if (speed < 125000) return Math.round(speed / 125) + " Kbps";
    	if (speed < 125000000) return Math.round(speed / 1250)/100 + " Mbps";
    	// else
    	return Math.round(speed / 1250000)/100 + " Gbps";  // wow!
    }

    JS в интерфейсе прошивки dd-wrt. Не совсе говнокод.

    danilissimus, 04 Марта 2011

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