1. Список говнокодов пользователя Landing

    Всего: 5

  2. Java / Говнокод #18958

    −39

    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
    public class SomeJavaTest {
    
        public static void main(String[] args) {
            System.out.println(getClassAndMethod());
            try {
                int k = 2 / 0;
            } catch (Exception e) {
                System.out.println(getClassAndMethod());
            }
        }
    
        public static String getClassAndMethod() {  //Возвращает название класса и метода в которых вызывается
            Throwable t = new Throwable();
            StackTraceElement trace[] = t.getStackTrace();
            int stackLevel = 2;
            if (trace.length > stackLevel) {
                StackTraceElement element = trace[stackLevel];
                return new StringBuffer(element.getClassName()).append(".").append(element.getMethodName()).toString();
            }
            return "no info";
        }
    }

    Кто-нибудь расскажет, что за курево в методе getClassAndMethod() ?

    Landing, 03 Ноября 2015

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

    −49

    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
    try {
                    eventTask = AliasHelper.getAliasValue(normalSession, AliasHelper.GENERAL_ALIAS_SET, AliasHelper.MSG_NEW_RESOLUTION);
                    ismNS.beginTransaction(); //Начать обе транзакции
                    ismSS.beginTransaction();
                    for (Iterator iter = targetUserNames.iterator(); iter.hasNext(); ) {
                        MailSender.UserData userData = (MailSender.UserData) iter.next();
                        IDfId queueId = getMainDocument().queue(userData.getUserName(), eventTask, 1, false, null, "Отправьте копию генеральному директору.");
                        IDfQueueItem queue = (IDfQueueItem) superSession.getObject(queueId);
                        queue.setString("task_subject", queueMessage);
                        queue.save();
                    }
                } catch (Exception e) {
                    ismNS.setTransactionRollbackOnly();//Откатить изменения обеих транзакций
                    ismSS.setTransactionRollbackOnly();
                    throw new TTGWrapperException(e);
                } finally {
                    try {
                        ismNS.commitTransaction();
                        ismSS.commitTransaction();
                    } catch (DfException e) {
                        throw new TTGWrapperException(e);
                    } finally {
                        ismSS.release(superSession);
                    }
                }

    try в finally чтобы закрыть транзакцию.

    Landing, 03 Ноября 2015

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

    −46

    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
    public static byte[] zipAndEncodeToBase64(String filePath) {
            File fi = new File(filePath);
            byte[] bytesFromFile = safeGetBytesFromFileByName(filePath);
            return compressBytesToZip(bytesFromFile, fi.getName());
        }
    
        public static byte[] safeGetBytesFromFileByName(String fileName) {
            File thisFile = new File(fileName);
            StringBuffer stringBufferFromFile = safeGetFileAsStringBuffer(thisFile);
            return stringBufferFromFile.toString().getBytes();
        }
    
        public static byte[] compressBytesToZip(byte[] bytes, String fileName) {
            ByteArrayBuffer bab = saveFileAsZipArchive(bytes, fileName);
            return bab.getRawData();
        }
    
        public static StringBuffer safeGetFileAsStringBuffer(File file) {
            StringBuffer sb = new StringBuffer();
            try {
                FileReader reader = new FileReader(file);
                int c = 0;
                while ((c = reader.read()) != -1) {
                    sb.append(Character.getNumericValue(c));
                }
                reader.close();
            } catch (IOException e) {
                System.err.println(e.getMessage());
            }
            return sb;
        }

    Читаем бинарный файл и zipуем его. Падало по нехватке памяти в хипе на файле в 8 мб.

    Landing, 28 Октября 2015

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

    +74

    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
    private boolean userInOneRegistrationNode() throws DfException {
    
            String uname = OrganizationStaffStructureHelper.getCurrentUserName();
    
            int i = 0;
            IDfCollection NodesCol = DQLHelper.getCollection(DQL_GET_REGISTRATOR_DIV, new String[]{uname});
            while (NodesCol.next()) {
                if (!(NodesCol == null)) {
                    String group_name = NodesCol.getString(GROUP_NAME);
                    i = i + 1;
                }
            }
    
            if (i == 1) {
                return true;
            }
            return false;
    }

    Заменяется 2мя строками один - select count(*), вторая - полученный результат Integer.ValueOf(...).

    Landing, 04 Марта 2013

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

    +140

    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
    [WebMethod]
            public void runCompareService(string mAuthToken, int documentId, int origVerNum, int revisedVerNum)
            {
                //string result = null;
                DirectoryInfo tmpDirInfo = getTempDirectoryPath(documentId);
                try
                {
                    //authToken = authClient.AuthenticateUser(username, password);
                    authToken = mAuthToken;
                    otAuth.AuthenticationToken = authToken;
    
                    try
                    {
                        string origFilePath = String.Format(tmpFilePath, tmpDirInfo.ToString(), origVerNum);
                        string revisedFilePath = String.Format(tmpFilePath, tmpDirInfo.ToString(), revisedVerNum);
                        string resultFilePath = String.Format(tmpResFilePath, tmpDirInfo.ToString(), origVerNum, revisedVerNum);
    
                        string origContextId = getDocContextId(documentId, origVerNum);
                        string revisedContextId = getDocContextId(documentId, revisedVerNum);
    
                        try
                        {
                            downlodFileByContextId(origContextId, origFilePath);
                            downlodFileByContextId(revisedContextId, revisedFilePath);
                            try
                            {
                                doCompare(origFilePath, revisedFilePath, resultFilePath);
                                try
                                {
                                    DownloadToBrowser(resultFilePath);
                                    
                                    //uploadResultToCS(targetId, resultFilePath);
                                }
                                catch (Exception e)
                                {
                                    throw new Exception(String.Format("Failed to Download To Browser. Error: {0}", e.ToString()));
                                }
                            }
                            catch (Exception e)
                            {
                                throw new Exception(String.Format("Failed to do compare method . Error: {0}", e.ToString()));
                            }
                        }
                        catch (Exception e)
                        {
                            throw new Exception(String.Format("Failed to create and download file. Error: {0}", e.ToString()));
                        }
                    }
                    catch (Exception e)
                    {
                        throw new Exception("Failed to get Context ID for version Exeption details: " + e.ToString());
                    }
    
                }
                catch (Exception e)
                {
                    throw new Exception("Failed to auth user. Exeption details: " + e.ToString());
                }
                finally
                {
                    docManClient.Close();
                    contentServiceClient.Close();
                    if (Directory.Exists(tmpDirInfo.ToString()))
                    {
                        tmpDirInfo.Delete(true);
                    }
                }
                
            }

    Landing, 04 Марта 2013

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