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

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private double findVar(String vname) throws InterpreterException {
        if (!Character.isLetter(vname.charAt(0))) {
            handleErr(SYNTAX);
            return 0.0;	// ?!
        }
        return vars[Character.toUpperCase(vname.charAt(0))-'A'];
    }

    dwinner, 10 Июня 2011

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

    +87

    1. 1
    2. 2
    3. 3
    ((JButton) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(1)).setEnabled(false);
    ((JButton) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(2)).setEnabled(false);
    ((JScrollPane) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(0)).getViewport().getComponent(0).setEnabled(false);

    В этом коде кнопки делаются не активными.

    Alias, 10 Июня 2011

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

    +147

    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
    Query query = entityManager.createNativeQuery(
                            "select * from ("
                                    + "select g4.id as goodId, g4.name as goodName, g4.code as goodCode, "
                                    + "u4.name as uomName, sum(bgd.quantity_out) as quantityOut, "
                                    + " g4.productcode as goodProductCode, sum(bgd.quantity_return) as quantityReturn "
                                    + "from good g4 "
                                    + "inner join consignment cs1 on cs1.good_id = g4.id "
                                    + (customizationUtilSQL == null ? "" : customizationUtilSQL.buildCustomAttributesQueryInnerPart())
                                    + " inner join "
                                    + "(select gg.consignment_id, op.sourcestore_id as place_id, " +
                                    		" sum(gg.quantity) as quantity_out, sum(coalesce(srset.return_quantity, 0)) as quantity_return "
                                    + "from motion gg "
                                    + "inner join operation op " +
                                    		" on (gg.operation_id = op.id " +
                                    		" and op.company = gg.company" +
                                            (projectId == null ? "" : " and (op.project_id  = :projectId) ") +
                                            (contractId == null ? "" : " and (op.contract_id  = :contractId) ") +
                                    		") "
                                    + "inner join place pld on op.sourcestore_id = pld.id "
                            		+ " left outer join "
                    				+ " (select ds.demand_id as demand_id, srm.consignment_id as consignment_id, srm.sum as sum, " +
                    						" sum(srm.quantity) as return_quantity from demand_salesreturn ds " +
                    						" inner join operation sr on sr.id = ds.salesreturn_id " +
                    						" inner join motion srm on srm.operation_id = sr.id " +
                    						" where sr.dtype = 'SalesReturn' " +
                                            " and sr.deleted is null " +
                                            (!includeAboardOperations ? " and sr.applicable = true " : "") +
                                            " and (sr.moment between :upToDate and :toDate) " +
                                            " and " + SecurityUtil.companyFilterSQL("sr") +
                    						" group by ds.demand_id, srm.consignment_id, srm.sum) srset " +
                    						" on (srset.demand_id = op.id and srset.sum = gg.sum " +
                    						" and srset.consignment_id = gg.consignment_id) "
                                    + (agentId == null ? "" :
                                        " left outer join requisite tr on op.targetagentrequisite_id = tr.id "
                                        + " left outer join requisite sr on op.sourceagentrequisite_id = sr.id "
                                        + " left outer join agent agt on tr.agent_id = agt.id "
                                		+ " left outer join agent ags on sr.agent_id = ags.id ")
                                    + "where " + SecurityUtil.companyFilterSQL("op")
                                    + " and op.deleted is null "
                                    + (!includeAboardOperations ? " and op.applicable = true " : "")
                                    + " and (op.moment between :upToDate and :toDate) "
                                    + " and op.dtype = 'Demand' "
                                    + (agentId == null ? ""
                                        : " and ((ags.path || ags.id) like ( "
                                            + "select distinct (a21.path || a21.id || '%') from agent a21  where a21.id = :agentId) or "

    всё не влезло, вообще тут 65 строк. пожалуйста выскажите ваше мнение об этом коде. спасибо :)

    ab368, 09 Июня 2011

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

    +84

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(obj instanceof TreeDictEntry) {
             TreeDictEntry tde = (TreeDictEntry) obj;
             Integer index = hm_IdDocs_idVectors.get(tde.getId());
             if(index == null) {
                Exception ex =
                   new Exception("Epic Faile в хэш мапе элементов не найден индекс в векторе");
                ex.printStackTrace();
             }
             vecElements.removeElementAt(index);
             return;
          }

    к этому я даже название придумал: "Эпичный говнокод"

    maxt, 08 Июня 2011

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

    +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
    1.3 @@ -89,9 +89,6 @@
         1.4     public void openFile(File f) {
         1.5        try {
         1.6           Desktop.getDesktop().open(f);
         1.7 -//         String s = "cmd /c \"" + f.getAbsolutePath() + "\" ";
         1.8 -//         System.out.println(s);
         1.9 -//         java.lang.Process p = Runtime.getRuntime().exec(s);
        1.10        }
        1.11        catch (Exception e) {
        1.12           JOptionPane.showMessageDialog(null, "Ошибка при открытии файла", "Ошибка", JOptionPane.ERROR_MESSAGE);
        1.13 @@ -112,21 +109,6 @@
        1.14           temp.mkdir();
        1.15        }
        1.16        String fName = entry.getName();
        1.17 -      fName = fName.replaceAll("\\&", "_");
        1.18 -      fName = fName.replaceAll("\\(", "_");
        1.19 -      fName = fName.replaceAll("\\)", "_");
        1.20 -      fName = fName.replaceAll("\\[", "_");
        1.21 -      fName = fName.replaceAll("\\]", "_");
        1.22 -      fName = fName.replaceAll("\\{", "_");
        1.23 -      fName = fName.replaceAll("\\}", "_");
        1.24 -      fName = fName.replaceAll("\\^", "_");
        1.25 -      fName = fName.replaceAll("\\=", "_");
        1.26 -      fName = fName.replaceAll("\\!", "_");
        1.27 -      fName = fName.replaceAll("\\`", "_");
        1.28 -      fName = fName.replaceAll("\\+", "_");
        1.29 -      fName = fName.replaceAll("\\~", "_");
        1.30 -      fName = fName.replaceAll(" ", "_");
        1.31 -      fName = fName.replaceAll(("№"), "_");
        1.32        String dnFileName = temp.getName() + File.separator + fName;
        1.33  
        1.34        File dlFname = new File(dnFileName);

    Так как открытие файла происходило весьма оригинальным образом через cmd.exe - вполне логично было написано фильтрование символов, неперевариваемых этой cmd.exe.
    Как видно - задача решалась одной строкой - " Desktop.getDesktop().open(f);".

    maxt, 08 Июня 2011

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

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    elem = request.getParameter("max_price");
        if ((elem != null) && (elem.trim().length() != 0)) {
          filter.setMax_price_id(elem);
          switch (Integer.parseInt(elem))
          {
          case 1:
            filter.setMax_price("price <= 10000");
            break;
          case 2:
            filter.setMax_price("price > 10000 and price <= 20000");
            break;
          case 3:
            filter.setMax_price("price > 20000 and price <= 30000");
            break;
          case 4:
            filter.setMax_price("price > 30000 and price <= 40000");
            break;
          case 5:
            filter.setMax_price("price > 50000");
          }
        }

    получение диапазона цен

    kakon, 07 Июня 2011

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

    +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
    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
    public class ... extends Applet implements MouseListener, ActionListener {
    	...    
    
    	@Override
    	public void actionPerformed(ActionEvent arg0)
    	{
    		// TODO Auto-generated method stub
    		boolean bNeedRepaint = false;
    		if(arg0.getSource() == m_ZoomIn)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_ZoomOut)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_ZoomBack)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MaxHeight)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MinHeight)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MaxWidth)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MinWidth)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MaxSpace)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MinSpace)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MovLeft)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MovRight)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MovUp)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_MovDown)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_AlignCenter)
    		{
    			...
    		}
    		else if(arg0.getSource() == m_TxtFirst)
    		{
    			...
    		}
    	}
    }

    Из апплета, присланного китайцами для интеграции в наше веб-приложение.

    lucidfox, 06 Июня 2011

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    public static int toGrid(int val, int cell)
    {
    	   return val/cell*cell; // embracing eternity!
    }

    dveyarangi, 02 Июня 2011

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

    +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
    public boolean ComparePassword(String userName, String ComparablePassword) throws SQLException
        {
            try{
            if(c == null) Connect();
            /*PreparedStatement stmt = c.prepareStatement("SELECT * FROM users WHERE name = ?");*/
            PreparedStatement stmt = c.prepareStatement("SELECT 1 FROM users WHERE name = ? AND password = ?");
    	stmt.setString(1, userName);
            stmt.setString(2, ComparablePassword);
            ResultSet rs = stmt.executeQuery();
            /*String a = rs.getString(3);
            if(ComparablePassword.compareTo(a) == 0) //бл**ь, ну почему в этой *** джаве это не работает? придется как обычно делать через *опу:(
                return true;
            else
            {
                return false;
            }
            */
            if(!rs.next())
                return false;
            else return true;
            }
            catch(SQLException e)
            {
                return false;
            }
        }

    Найдено в недрах исходников одного сайта на Java :)

    A1mighty, 02 Июня 2011

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

    +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
    private void listGSNames()
    	{
    		int idMaxLen = 0;
    		int nameMaxLen = 0;
    		for (Entry<Integer, String> e : GameServerTable.getInstance().getServerNames().entrySet())
    		{
    			if (e.getKey().toString().length() > idMaxLen)
    			{
    				idMaxLen = e.getKey().toString().length();
    			}
    			if (e.getValue().length() > nameMaxLen)
    			{
    				nameMaxLen = e.getValue().length();
    			}
    		}
    /* Some Code */
    }

    Отрезок из регистратора игрового сервера Lineage от команды L2jServer.
    e.getKey().toString().length() - Приведение к строке, потом определение строки. Выглядит зрелищно! =)

    Akira, 01 Июня 2011

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