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

    Всего: 161

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

    +145

    1. 1
    final String s1 = new String("ewkjrhjkcbdsjgshrfjksdbewrhjfhjcvbsdfjd");

    Lure Of Chaos, 26 Января 2011

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void keyPressed(final KeyEvent event) {
            final int keys[] = { KeyEvent.VK_UP, KeyEvent.VK_DOWN, KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT, KeyEvent.VK_SPACE };
            final int dir[][] = { { 0, -1 }, { 0, 1 }, { -1, 0 }, { 1, 0 }, { 0, 0 } };
            for (int i = 0; i < 5; i++) {
              if (event.getKeyCode() == keys[i]) {
                man.s.move(dir[i][0], dir[i][1]);
              }
            }
          }

    оригинальная обработка клавиш

    Lure Of Chaos, 24 Января 2011

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

    +145

    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
    private String parseCommand(final String value) {
        final StringBuilder s = new StringBuilder();
        for (int i = 0; i < value.length(); i++) {
          final char c = value.charAt(i);
          switch (c) {
          case 'a':
            s.append("[A]");
            break;
          case 'b':
            s.append("[B]");
            break;
          case 'c':
            s.append("[C]");
            break;
          case 'x':
            s.append("[X]");
            break;
          case 'y':
            s.append("[Y]");
            break;
          case 'z':
            s.append("[Z]");
            break;
          case 'B':
            s.append("<Back>");
            break;
          case 'F':
            s.append("<Forward>");
            break;
          case 'D':
            s.append("<Down>");
            break;
          case 'U':
            s.append("<Up>");
            break;
          case '/':
            s.append(" HOLD ");
            break;
          case '~':
            s.append(" RELEASE ");
            break;
          case '$':
            s.append(" INMOVE ");
            break;
          case '+':
            s.append(" AND ");
            break;
          case '>':
            s.append(" START ");
            break;
          default:
            s.append(c);
          }
        }
        return s.toString();
      }

    оптимизация или отсутствие мозгов?

    Lure Of Chaos, 24 Января 2011

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    System.out.println("ERROR: Second call to constructor of static parser.  You must");
          System.out.println("       either use ReInit() or set the JavaCC option STATIC to false");
          System.out.println("       during parser generation.");
          throw new Error();

    c2java.zip (с 2 java конвертор)

    код старый и декомпилированный, но декомпилятор тут ни при чем = )

    Lure Of Chaos, 22 Января 2011

    Комментарии (1)
  6. PHP / Говнокод #5327

    +143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //Serialize
    if(is_numeric($value) || is_string($value))
    return $value;
    else
    return serialize($value);
    
    //Unserialize
    if(is_numeric($value))
    return $value;
    if(preg_match('/(a|O|s|b)\x3a[0-9]*?((\x3a((\x7b?(.+)\x7d)|(\x22(.+)\x22\x3b)))|(\x3b))/', $value)
    return unserialize($value);

    http://forum.dklab.ru/viewtopic.php?t=38585

    > Использовал я такой способ на проекте, потом перестал поддерживать проект, и ко мне время от времени обращается нынешний программист и говорит, что
    > плохо работает и не все данные возвращает.

    > Правильная ли регулярка?

    Lure Of Chaos, 18 Января 2011

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

    +145

    1. 1
    <a style="display: inline-block; background: #cc3333 url('''') no-repeat top right; width: 88px; height: 31px; border: 0px solid #000; color: #ffffff; text-decoration: none; text-align: center; padding: 0; overflow: hidden; font-style: normal; font-variant: normal; font-weight: bold; font-size: 9px; font-family: Verdana, sans-serif; margin-left: 2px; margin-right: 2px; margin-top: 5px; margin-bottom: 0;" href="http://www.avto-mos.ru/autosale/" target="_blank">Продажа новых автомобилей</a>

    Lure Of Chaos, 18 Января 2011

    Комментарии (13)
  8. PHP / Говнокод #5300

    +145

    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
    /**
     * commentsPostController: контроллер для метода post модуля comments
     *
     * @package modules
     * @subpackage comments
     * @version 0.2
     */
    class commentsPostController extends simpleController
    {
    //......
            $formTitles = array(
                'Я, <b>' . htmlspecialchars($user->getLogin()) . '</b>, находясь в здравом уме и твердой памяти, торжественно заявляю:',
                'Помни, <b>' . htmlspecialchars($user->getLogin()) . '</b>, за тобой могут следить!',
                'Семь раз отмерь — один отрежь, <b>' . htmlspecialchars($user->getLogin()) . '</b>!',
                'Где здесь C++, <b>' . htmlspecialchars($user->getLogin()) . '</b>?!',
            );
    
            $session = $this->toolkit->getSession();
            if ($onlyForm) {
                $currentTitleIndex = mt_rand(0, sizeof($formTitles) - 1);
                $session->set('comments_form_title_index', $currentTitleIndex);
            } else {
                $currentTitleIndex = $session->get('comments_form_title_index', -1);
                if (!isset($formTitles[$currentTitleIndex])) {
                    $currentTitleIndex = mt_rand(0, sizeof($formTitles) - 1);
                    $session->set('comments_form_title_index', $currentTitleIndex);
                }
            }
    //......
    }

    11-16: титлам самое место в контроллере!

    18-28 меня совсем обескуражило... Но чем, подсказывать не буду, глядите сами = )

    откуда взято, сами понимаете = )

    Lure Of Chaos, 16 Января 2011

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

    +145

    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
    public String readMessage(String subject) throws Exception {
        String messageString = null;
        try {
          for (final Message message : Arrays.asList(this.inbox.getMessages())) {
            if (subject.equals(message.getSubject())) {
              messageString = "To: " + Arrays.asList(message.getAllRecipients()) + "n" + "From: " + Arrays.asList(message.getFrom()) + "n" + "Sent: "
                + message.getSentDate() + "n" + "Subject: " + message.getSubject() + "n" + "Text: " + message.getContent();
              break;
            }
          }
        } catch (final MessagingException me) {
          throw new Exception("Error reading Inbox", me);
        } catch (final IOException e) {/* Not using streams, only plain text */
        }
        return messageString;
      }

    тестовый javamail клиент(отправка тест-письма,поиск его и удаление). В методе ищем письмо с нужной темой, возвращаем текстовое представление.

    говно, кроме очевидных ляпов, в том, что мы лазием по всем сообщениям, сверяя тему, а получение письма занимает около секунды. Надо ли говорить, что в современном ящике писем тысячи...
    для сравнения:
    если заменить в 4 строчке конструкцию

    Arrays.asList(this.inbox.getMessages())
    на
    new SubjectTerm(subject)
    , то время выполнения сокращается с (неизвестно,точно более времени чаепития) до пары секунд = )

    Lure Of Chaos, 14 Января 2011

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

    +145

    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
    private boolean save(Writer writer, int indent) {
      StringBuffer nlb = new StringBuffer("\n");
      for (int i = 0; i < indent; i++) {
       nlb.append("\t");
      }
      String nl = nlb.toString();
      Writer s = writer;
      try {
       if (this.isRoot()) {
        s.append("<?xml version=\"1.0\" encoding=\"");
        s.append(Charset.defaultCharset().displayName());
        s.append("\"?>");
       }
       s.append(nl);
       s.append("<");
       s.append(RegNode.EL_NODE);
       s.append(" ");
       s.append(RegNode.ATT_NAME);
       s.append("=\"");
       s.append(this.getName());
       s.append("\">");
       if (this.getData() != null) {
        s.append(nl);
        s.append("\t<");
        s.append(RegNode.EL_DATA);
        s.append(" ");
        s.append(RegNode.ATT_TYPE);
        s.append("=\"");
        s.append(RegNode.getTypeFor(this.getData()));
        s.append("\" ");
        s.append(RegNode.ATT_ENCODE);
        s.append("=\"");
        s.append(this.getMethod());
        s.append("\">");
        s.append(nl);
        s.append("\t\t");
        s.append(RegNode.encodeData(this.getData(), this.getMethod()));
        s.append(nl);
        s.append("\t</");
        s.append(RegNode.EL_DATA);
        s.append(">");
       }
       for (RegNode child : this.getChildren()) {
        s.append("\t");
        child.save(s, indent + 1);
       }
       s.append(nl);
       s.append("</");
       s.append(RegNode.EL_NODE);
       s.append(">");
       return true;
      } catch (IOException e) {
       e.printStackTrace();
      }
      return false;
     }

    не нужен нам ни DOM, ни SAX, ни JAXB!

    из класса, пытающегося реализовать себе "Windows Registry"-подобное древовидное хранилище.
    каюсь, лисапед тоже мой = )

    Lure Of Chaos, 10 Января 2011

    Комментарии (6)
  11. VisualBasic / Говнокод #5206

    −174

    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
    Sub display(frm As Form)
        Dim lvl As Boolean
        Dim format As String
        If (frm.optSex(0).value) Then
            format = oI18n.translate("res_m")
            format = Replace(format, "\n", vbCrLf, 1, -1, vbBinaryCompare)
            format = Replace(format, "*", frm.cmbSchool.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtForm.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtName.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtSurname.Text, 1, 1, vbTextCompare)
            lvl = False
            For Each optLvl In frm.chkLevel
                If (optLvl.value) Then
                    format = Replace(format, "*", oI18n.translate(optLvl.Tag & "_m"), 1, 1, vbTextCompare)
                    lvl = True
                End If
            Next optLvl
            If (Not lvl) Then format = Replace(format, "*", oI18n.translate("Bad" & "_m"), 1, 1, vbTextCompare)
        End If
        If (frm.optSex(1).value) Then
            format = oI18n.translate("res_f")
            format = Replace(format, "\n", vbCrLf, 1, -1, vbBinaryCompare)
            format = Replace(format, "*", frm.cmbSchool.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtForm.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtName.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtSurname.Text, 1, 1, vbTextCompare)
            lvl = False
            For Each optLvl In frm.chkLevel
                If (optLvl.value) Then
                    format = Replace(format, "*", oI18n.translate(optLvl.Tag & "_f"), 1, 1, vbTextCompare)
                End If
            Next optLvl
            If (Not lvl) Then format = Replace(format, "*", oI18n.translate("Bad" & "_f"), 1, 1, vbTextCompare)
        End If
        Dim dalykai As String
        Dim first As Boolean
        dalykai = ""
        first = True
        For Each chkFavorite In frm.chkFavorites
            If (chkFavorite.value) Then dalykai = dalykai & IIf(first, vbCrLf, vbCrLf) & (chkFavorite.Caption)
            first = False
        Next chkFavorite
        If (frm.chkFavoriteOther.value) Then dalykai = dalykai & IIf(first, vbCrLf, vbCrLf) & (frm.txtFavoriteOther.Text)
        Dim b As Boolean
        b = dalykai = ""
        If (b) Then
            If (frm.optSex(0).value) Then dalykai = oI18n.translate("nores_m")
            If (frm.optSex(1).value) Then dalykai = oI18n.translate("nores_f")
        End If
        If (Not b) Then
            If (frm.optSex(0).value) Then dalykai = oI18n.translate("res2_m") & dalykai
            If (frm.optSex(1).value) Then dalykai = oI18n.translate("res2_f") & dalykai
        End If
        
        MsgBox (format & vbCrLf & dalykai)
    End Sub

    заполняем строку-шаблон, заменяя звездочки реальными данными
    вот не было в VB6 printf-подобной функции ((

    Lure Of Chaos, 10 Января 2011

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