1. Лучший говнокод

    В номинации:
    За время:
  2. Java / Говнокод #14399

    +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
    private byte[] readBytes(InputStream pInputStream, int pLength, int pRetryCounter) throws IOException, WhateverException
    {
        byte[] bytes = new byte[pLength];
        int bytesRead= pInputStream.read(bytes, 0,pLength);
    
        if (bytesRead == -1)
        {
            throw new WhateverException("End of InputStream has been reached");
        }
    
        if (pLength != bytesRead)
        {
            byte[] bytesReadNextAttempt = readBytes(pInputStream, pLength-bytesRead, pRetryCounter + 1);
            if (pLength != bytesRead + bytesReadNextAttempt.length)
            {
                // less bytes available; connection was closed
                throw new WhateverException( ... );
            }
            System.arraycopy(bytesReadNextAttempt, 0, bytes, bytesRead, bytesReadNextAttempt.length);
        }
        return bytes;
    }

    поддержка паршиал ресив. такого "метода" я еще не видел.

    ЗЫ а че в жабе нету никакого MSG_WAITALL?

    Dummy00001, 22 Января 2014

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

    +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
    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
    @Override
        List search(Long ownerId, Long projectId, String docnumber, String ctr1, String ctr2, Long dateFrom, Long dateTo, String contract,
                    Double amountFrom, Double amountTo, Double vatAmountFrom, Double vatAmountTo, Double withVatAmountFrom,
                    Double withVatAmountTo, Boolean defect, DocumentDefect d, Long vatId, Integer limit, String sortField, String order, String docType) {
    
            // доступные проекты
            List projects = projectDAO.findAll(ownerId)
            
            if(!projects){
                logger.warn("Ошибка отображения списка документов: нет доступных проектов: ownerId:$ownerId")
                return []
            }
            
            Criteria criteria = currentSession.createCriteria(DocumentView)
                .createAlias("document", "d")//
                .createAlias("d.project", "p")//
                .add(Restrictions.in("p.id", projects.id))//
    
    //            if(projectId)
    //                criteria.add(Restrictions.eq("d.project.id", projectId))
    
            if (docnumber)
                criteria.add(Restrictions.ilike("docNumber", docnumber, MatchMode.ANYWHERE))
            if (ctr1)
                criteria.add(Restrictions.ilike("supplierName", ctr1, MatchMode.ANYWHERE))
            if (ctr2)
                criteria.add(Restrictions.ilike("customerName", ctr2, MatchMode.ANYWHERE))
            if (dateFrom) {
                Calendar date1 = Calendar.instance
                date1.setTime(new Date(dateFrom))
                criteria.add(Restrictions.ge("docDate", date1))
            }
            if (dateTo) {
                Calendar date1 = Calendar.instance
                date1.setTime(new Date(dateTo))
                date1.add(Calendar.DAY_OF_MONTH, 1)
                criteria.add(Restrictions.lt("docDate", date1))
            }
            if (contract)
                criteria.add(Restrictions.ilike("contract", contract, MatchMode.ANYWHERE))
            if (amountFrom)
                criteria.add(Restrictions.ge("amount", amountFrom))
            if (amountTo)
                criteria.add(Restrictions.le("amount", amountTo))
            if (vatAmountFrom)
                criteria.add(Restrictions.ge("vatAmount", vatAmountFrom))
            if (vatAmountTo)
                criteria.add(Restrictions.le("vatAmount", vatAmountTo))
            if (withVatAmountFrom)
                criteria.add(Restrictions.ge("totalAmount", withVatAmountFrom))
            if (withVatAmountTo)
                criteria.add(Restrictions.le("totalAmount", withVatAmountTo))
            if (defect) {
                criteria.add(Restrictions.isNotNull("defect"))
                if (d)
                    criteria.add(Restrictions.eq("defect", d))
            }
    //        if (vatId)
    //            criteria.add(Restrictions.eq("d.", withVatAmountTo))
    
            if (docType) {
                def dt = DocumentType.values().find { it.link == docType || it.code == docType }
                if (dt)
                    criteria.add(Restrictions.like("docLink", dt.code, MatchMode.START))
                else
                    logger.error("Неправильное значение параметра фильтрации по виду документа [d_t:$docType]. Допустимые значения ${DocumentType.values().code}")
            }
    
            // получаем общее кол-во записей без ограничений по странице
            def rowCount = criteria.setProjection(Projections.rowCount()).uniqueResult() as Integer
    
            List result = criteria.setProjection(null)//
                    .setResultTransformer(Criteria.ROOT_ENTITY)//
                    .addOrder(Order."$order"(sortField))//
                    .setMaxResults(limit)//
                    .list()
    
            [rowCount, result]
    
        }

    поиск ?!

    floppy, 20 Декабря 2013

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

    +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
    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
    app_preferences = PreferenceManager.getDefaultSharedPreferences(context);
    			
    	        mApplication = (MyApplication)context;
    if(mApplication.nomgor == 0 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID", "0"));
    		      mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID","");//в работе
                  }
                if(mApplication.nomgor == 1 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID1", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID1","");//в работе
                  }
                if(mApplication.nomgor == 2 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID2", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID2","");//в работе
                   }
                if(mApplication.nomgor == 3 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID3", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID3","");//в работе
                   }
                if(mApplication.nomgor == 4 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID4", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID4","");//в работе
                  }
                if(mApplication.nomgor == 5 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID5", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID5","");//в работе
                  }
                if(mApplication.nomgor == 6 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID6", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID6","");//в работе
                   }
                if(mApplication.nomgor == 7 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID7", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID7","");//в работе
                   }
                if(mApplication.nomgor == 8 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID8", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID8","");//в работе
                   }
                if(mApplication.nomgor == 9 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID9", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID9","");//в работе
                   }
                if(mApplication.nomgor == 10 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID10", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID10","");//в работе
                  }
                if(mApplication.nomgor == 11 ){
                  mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID11", "0"));
                  mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID11","");//в работе
                  }
                if(mApplication.nomgor == 12 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID12", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID12","");//в работе
                   }
                if(mApplication.nomgor == 13 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID13", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID13","");//в работе
                  }
                if(mApplication.nomgor == 14 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID14", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID14","");//в работе
                   }
                if(mApplication.nomgor == 15 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID15", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID15","");//в работе
                   }
                if(mApplication.nomgor == 16 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID16", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID16","");//в работе
                   }
                if(mApplication.nomgor == 17 ){
                   mApplication.MyPacket.id = Integer.parseInt(app_preferences.getString("ID17", "0"));
                   mApplication.MyPacket.Pass = app_preferences.getString("PASS_ID17","");//в работе
                   }

    кто-то с детства привык копипастить

    grampe, 09 Октября 2013

    Комментарии (18)
  5. C++ / Говнокод #13387

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ. 
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!
    
    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ.
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!


    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Stertor, 11 Июля 2013

    Комментарии (0)
  6. C++ / Говнокод #13386

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ. 
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!
    
    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ.
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!


    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Stertor, 11 Июля 2013

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

    +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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    @XmlRootElement(name = "bar")
    public class Bar implements IBarObject{
    
        @XmlElement(name = "return")
        private SuperFoo barObj;
    
        @Override
        public void setBarObject(Foo obj) {
            //TODO: implement method
        }
    
        @Override
        public void setBarObject(URI obj) {
            //TODO: implement method
        }
    
        @Override
        public void setBarObject(SuperFoo obj) {
            barObj = obj;
        }
    
        @Override
        public void setBarObject(List<URI> obj) {
            //TODO: implement method
        }
    
        @Override
    	@XmlTransient
    	public Object getBarObject() {
    		return barObj;
    	}
    }

    Ну хотя бы NotImplementedException, но нет...

    PS Код немного по-переименовывал дабы не спалиться

    myzone, 26 Марта 2013

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

    +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
    public static Connection getDBConnectionReader() throws Exception {
            Connection conn = null;
            try {
                conn = enrollmentsDataSource.getConnection();
            } catch (SQLException e) {
                LOGGER.warn("SQL Exception: get DB connection reader", e);
                resetConnectionReader();
                try {
                    conn = enrollmentsDataSource.getConnection();
                } catch (SQLException e1) {
                    throw new Exception("Exception: get DB connection reader", e1);
                }
            }
            return conn;
    }

    Фрактал...

    amarfey, 20 Марта 2013

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

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    String currentDate = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date());
     accountNumber.append(String.valueOf(1900 + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getYear()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMonth()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getDate()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getHours()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMinutes()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getSeconds()));

    ну а чо, зато внушительно выглядит

    nafania217518, 01 Марта 2013

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

    +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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    private static final int IDX_OBJECT = 0;
    private static final String PARTY_ACCOUNT_BALANCE_QUERIES = "Select party.id from Party party WHERE party.TaxID='615100175';Select account.id from PaymentAccount account, Party party WHERE party.TaxID='615100175';Select balance.id from PaymentBalance balance WHERE balance.BalanceType='10000';";
    private static final int queryAmount = 3;
    public void createPaymentAccountUpdate() {
    	String[] QUERY = new String[queryAmount];
    	int startIndex = 0, endIndex=0;
    	IRecordset [] rs=null;
    
    	for (int i = 0; i < queryAmount; i++) {
    		endIndex = PARTY_ACCOUNT_BALANCE_QUERIES.indexOf(';', startIndex);
    		QUERY[i] = PARTY_ACCOUNT_BALANCE_QUERIES.substring(startIndex, endIndex);
    		startIndex = endIndex + 1;
    	} 
    	for (int i = 0; i < queryAmount; i++) {
    		rs[i] = s_mgr.newQuery().execute(QUERY[i].toString());
    	}
    	if (rs[0].moveNext()) {
    		IParty party = (IParty)rs[0].valueFromIndex(IDX_OBJECT);
    		if (rs[1].moveNext()) {
    			IPaymentAccount pa = (IPaymentAccount) rs[1].valueFromIndex(IDX_OBJECT);
    			pa.setParty(party);
    		}
    		if (rs[2].moveNext()) {
    			IPaymentBalance pb = (IPaymentBalance) rs[2].valueFromIndex(IDX_OBJECT);
    			pa.setBalance(pb);
    		}            
    		pa.setComment("Test account update created"); 
    		pa.Save();
    	}
    }

    Лучше уж никаких тестов, чем такие

    askell, 14 Февраля 2013

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

    +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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    private String getSecondsToTimeFormat(long startTime, long finishTime) {
    
            int secs = Math.round((finishTime - startTime) / 1000);
    
            int hours = secs / 3600,
                    remainder = secs % 3600,
                    minutes = remainder / 60,
                    seconds = remainder % 60;
    
            StringBuilder result = new StringBuilder();
    
            if (hours > 0) {
                result.append((hours < 10 ? "0" : "") + hours).append(":");
            }
    
            if (minutes > 0 || hours > 0) {
                result.append((minutes < 10 ? "0" : "") + minutes).append(":");
            }
    
            if (seconds > 0 || hours > 0 || minutes > 0) {
                result.append((seconds < 10 ? "0" : "") + seconds);
            }
    
            if (hours == 0 && minutes == 0) {
                if (seconds == 1) {
                    result.append(" second");
                } else {
                    result.append(" seconds");
                }
            }
    
            return result.toString();
        }

    Задача - перевести из секунд в человеческий формат

    nafania217518, 29 Января 2013

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