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

    Всего: 31

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

    +69

    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
    totOwed1 = BigDecimalUtils
    				.subtract(
    						BigDecimalUtils.subtract(
    								BigDecimalUtils.subtract(
    										BigDecimalUtils.subtract(
    												BigDecimalUtils.subtract(
    														BigDecimalUtils.subtract(
    																BigDecimalUtils
    																		.subtract(
    																				BigDecimalUtils
    																						.subtract(
    																								BigDecimalUtils
    																										.subtract(
    																												BigDecimalUtils
    																														.subtract(
    																																BigDecimalUtils
    																																		.subtract(
    																																				BigDecimalUtils
    																																						.subtract(
    																																								BigDecimalUtils
    																																										.subtract(
    																																												BigDecimalUtils
    																																														.subtract(
    																																																BigDecimalUtils
    																																																		.subtract(
    																																																				BigDecimalUtils
    																																																						.subtract(
    																																																								BigDecimalUtils
    																																																										.subtract(
    																																																												BigDecimalUtils
    																																																														.subtract(
    																																																																BigDecimalUtils
    																																																																		.subtract(
    																																																																				BigDecimalUtils
    																																																																						.subtract(
    																																																																								hMoTotalPayAmt,
    																																																																								hClmPaperChrgAmt),
    																																																																				hRestitutionAmt),
    																																																																hRestQaAmt),
    																																																												hRestNmAmt),
    																																																								hOverPaymentAmt),
    																																																				hLevyAmt),
    																																																hSupportOrdAmt),
    																																												hBackUpWithhdAmt),
    																																								hEyefinDebitAmt),
    																																				hPrePaymentAmt),
    																																hMoDebitsVsplab),
    																												hMoDebitsPlexus),
    																								hMoDebitsCollab),
    																				hDebitsLegends),
    																hDebitsUltra),
    														hDebitsCapitol),
    												hDebitsSandiego),
    										hDebitsTampabay), hDebitsStcloud),
    						hMoDebitsAltair);

    kostoprav, 09 Июля 2015

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

    +67

    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
    enum MethodCallResult {
        OK,
        INTERNAL_ERROR,
        INVALID_ARGUMENTS,
        ...
    }
    
    MethodCallResult result = ...;
    
    switch (result.ordinal()) {
    	case 0:
    		...
    		break;
    	case 1:
    		...
    		break;
    	...
    }

    Натолкнулся в офигенном Ынтырпрайз-проекте, который спихнули на поддержку. Утверждали, что Sonar выдает 0 ошибок.

    kostoprav, 27 Июня 2015

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

    +76

    1. 1
    return new Double(Math.ceil(weight)).intValue();

    И снова autoboxing не в почете

    kostoprav, 30 Июня 2014

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

    +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
    protected String createPublicCacheKey(String...keyElements) {
    	String initial = "public";
    
    	StringBuilder format = new StringBuilder();
    	format.append(initial);
    
    	for(int i=0;i<keyElements.length;i++) {
    		format.append(".%s");
    	}
    
    	return String.format(format.toString(), keyElements);
    }

    Объясните, позязя, почему нельзя сразу добавлять данные к StringBuilder'у. Может быть в этом есть скрытый сакральный смысл желание выпендриться знанием JDK.

    kostoprav, 27 Июня 2014

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

    +72

    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
    private static String fetchEventName(LogEventTypes event) {
    	String result = null;
    	
    	if (LogEventTypes.A.name().equals(event.name()))) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.B.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.C.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.D.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.E.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.F.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.G.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.H.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.I.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.J.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.K.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	} else if (LogEventTypes.L.name().equals(event.name())) {
    		result = play.i18n.Messages.get("...");
    	}
    
    	return result;
    }

    Секретную инфу потер :) Но думаю, и так все ясно... LogEventTypes - у нас enum.
    Код писал индус (нет ну правда, индус).

    kostoprav, 24 Июня 2014

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

    +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
    public class CookieHelper {
        public static Cookie getCookie(String name, Http.Request request) {
            Cookie cookie = null;
            if (request.cookies != null) {
                for (Entry<String, Cookie> entry : request.cookies.entrySet()) {
                    if (name.equals(entry.getKey())){
                        cookie = entry.getValue();
                    }
                }
            }
            return cookie;
        }
    }

    request.cookies - это конечно же Map<String, Cookie>

    kostoprav, 23 Июня 2014

    Комментарии (15)
  8. SQL / Говнокод #16105

    −165

    1. 1
    http://pastebin.com/YSWwKmGb

    Кроме как линком не влезает. Но оно того стоит...

    kostoprav, 03 Июня 2014

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

    +72

    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
    public class PLock {
        private Map<Thread, Integer> readLocks = new HashMap<Thread, Integer>();
        private Thread writeLock = null;
        private int writeLockCount = 0;
        
        public synchronized void getReadLock() {
            Thread currentThread = Thread.currentThread();
            long startTimeMillis = System.currentTimeMillis();
            boolean gotStuck = false;
            while (canClaimReadLock(currentThread) == false) {
                gotStuck = true;
                try {
                    wait();
                } catch (InterruptedException ex) {
                    Log.warn("Interrupted while attempting to get read lock.", ex);
                }
            }
            report(gotStuck, startTimeMillis, "read");
            if (readLocks.containsKey(currentThread)) {
                readLocks.put(currentThread, 1 + readLocks.get(currentThread));
            } else {
                readLocks.put(currentThread, 1);
            }
        }
        
        ...
        
        public synchronized void relinquishReadLock() {
            Thread currentThread = Thread.currentThread();
            if (readLocks.containsKey(currentThread) == false) {
                throw new RuntimeException("Cannot relinquish read lock on thread " + currentThread + " because it does not hold a lock.");
            }
            int newLockCount = readLocks.get(currentThread) - 1;
            if (newLockCount == 0) {
                readLocks.remove(currentThread);
                notifyAll();  // IMPORTANT: allow other threads to wake up and check if they can get locks now.
            } else {
                readLocks.put(currentThread, newLockCount);
            }
        }
        
        public synchronized void getWriteLock() {
            //Log.warn("getWriteLock() in thread " + Thread.currentThread());
            //dumpLocks();
            Thread currentThread = Thread.currentThread();
            long startTimeMillis = System.currentTimeMillis();
            boolean gotStuck = false;
            while (canClaimWriteLock(currentThread) == false) {
                gotStuck = true;
                try {
                    wait();
                } catch (InterruptedException ex) {
                    Log.warn("Interrupted while attempting to get write lock.", ex);
                }
            }
            report(gotStuck, startTimeMillis, "write");
            writeLock = currentThread;
            writeLockCount++;
        }
        
        ...
        
        public synchronized void relinquishWriteLock() {
            //Log.warn("relinquishWriteLock() in thread " + Thread.currentThread());
            Thread currentThread = Thread.currentThread();
            if (writeLock != currentThread) {
                throw new RuntimeException("Cannot relinquish write lock on thread " + currentThread + " because it does not hold the lock.");
            }
            if (writeLockCount <= 0) {
                throw new RuntimeException("Tried to relinquish write lock on thread " + currentThread + " while write lock count is " + writeLockCount);
            }
            writeLockCount--;
            if (writeLockCount == 0) {
                writeLock = null;
                notifyAll();  // IMPORTANT: allow other threads to wake up and check if they can get locks now.
            }
        }
        
        ...
    }

    А у вас уже есть свой теплый ламповый ReentrantReadWriteLock?
    Нет? Тогда https://github.com/orph/jujitsu/blob/master/src/e/ptextarea/PLock.java идет к вам...

    kostoprav, 30 Мая 2014

    Комментарии (20)
  10. C# / Говнокод #16067

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    panel1.Visible = checkBoxCCF.Checked;
    panel2.Visible = checkBoxReliabilty.Checked;
    panel3.Visible = checkBoxRisk.Checked;
    panel4.Visible = checkBoxSaftey.Checked;
    panel5.Visible = checkBoxSensitivity.Checked;
    panel6.Visible = checkBoxThroughput.Checked;
    panel7.Visible = checkBoxUncertainity.Checked;

    Почему половина переменных нормальные, половина нет? Логика некоторых погромистов зашкаливает...

    kostoprav, 28 Мая 2014

    Комментарии (3)
  11. Lua / Говнокод #16047

    −85

    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
    c1 = true
    c2 = true
    c3 = true
    c4 = true
    c5 = true
    c6 = true
    c7 = true
    c8 = true
    c9 = true
    c10 = true
    c11 = true
    c12 = true
    c13 = true
    next = true
    
    function goForward()
      c1 = c2
      c2 = c3
      c3 = c4
      c4 = c5
      c5 = c6
      c6 = c7
      c7 = c8
      c8 = c9
      c9 = c10
      c10 = c11
      c11 = c12
      c12 = c13
      c13 = next
    end

    Немножко Lua-кода от геймдизайнера.

    kostoprav, 23 Мая 2014

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