1. VisualBasic / Говнокод #219

    −519.3

    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
    '/**
    ' * Parser
    ' * @param String text
    ' * @param Scripting.Dictionary text
    ' */
    private function Parse(text, data)
        dim RE, EM, MO, res, lastIndex, val
        res = ""
        Set RE = New RegExp
        RE.Pattern = "(\\?)\$(?:(\w+)|\{(\w+)\})"
        RE.IgnoreCase = False
        RE.Global = True
        Set EM = RE.Execute(text)
        if EM.Count > 0 then
            lastIndex = 1
            for each MO in EM
                if Mid(MO.Value,1,2) = "\$" then
                    val = Mid(MO.Value,2)
                else
                    if Mid(MO.Value,1,2) = "${" then 
                        val = Mid(Mid(MO.Value,1,Len(MO.Value)-1),3) 
                    else 
                        val = Mid(MO.Value,2)
                    end if
                    val = data(val)
                end if
                res = res & Mid(text, lastIndex, MO.FirstIndex-lastIndex+1) & val
                lastIndex = MO.FirstIndex+MO.Length+1
            next
            res = res & Mid(text, lastIndex)
            Parse = res
        else
            Parse = text
        end if
    end function

    Пример, как функция, которая в других языках описывается одной строкой, реализуется на этом говноязыке

    guest, 18 Декабря 2008

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

    +48.7

    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
    <?php
        global
            $_REQUEST,
            $_SERVER,
            $_FILES,
            $PHP_SELF,
            $_GET_VARS,$_GET,
            $_POST_VARS,  
            $_POST,
            $_COOKIE,
            $HTTP_ENV_VARS,
            $HTTP_SERVER_VARS,
            $_page,
            $_text,
            $_user,
            $_cook_session,
            $_page_index,
            $_page_title,
            $parce_page;
    
        extract($_GET);
        extract($_POST);
        extract($_FILES);
    
        while (list($key123, $value123) = each($_GET))    ${$key123}=$value123;
        while (list($key123, $value123) = each($_POST))   ${$key123}=$value123;
        while (list($key123, $value123) = each($_FILES))  ${$key123}=$value123;
    
        foreach ($_POST as $key=>$value) {
    	    ${$key}=$value;
    	}
        foreach ($_GET as $key=>$value) {
    	    ${$key}=$value;
    	}
    ?>

    Цитирую весь файл, как есть

    guest, 18 Декабря 2008

    Комментарии (7)
  3. PHP / Говнокод #217

    +26

    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
    protected function _buildParamsUrl($additional = array()) {
           $url = array();
           $params = $this->_request->getParams();
           $params = array_merge($params);
           foreach ($params as $var => $val) {
               if (in_array($var,$this->_neededParams) && is_scalar($val)) {
                    $url[$var] = $val;
               }
           }
           
           $url = array_merge($url,$additional);
           
           return $url;
        }

    Было нужно подставлять параметры из POST в action формы. Почему осталось в таком виде - хз... Видимо было выпито мало кофе с утра...

    guest, 18 Декабря 2008

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

    −47.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    n=1;
    	while ( n <= d_after )
    	{	
    		++n;
    	}
    
    	int secs = n-1;

    Best Practices(made by indian)

    guest, 18 Декабря 2008

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

    −40.1

    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
    /* This is bad. Reaaly bad. It's a really, really bad hack. If you're an employee of 
     * Intertrode Communication, then I'm really, really sorry that you have to maintain
     * this. I was honestly planning on removing this tomorrow, but I've been known to 
     * forget things like this. It happens.
     *
     * So here's the thing. I can't seem to figure out why the AccountId variable isn't 
     * set. I've looked and looked, but I gotta leave now. Anyway, I've found that I can
     * just grab the AccountID from the debugging logs.  I suppose that to fix it, you'd
     * have to locate where it's clearing out the ID.
     *
     * Again, I'm sorry.
     */
    
    if ( (AccountId == NULL) || (AccountId == "") ||
         (ServerSesion["AccountId"] == NULL) || (ServerSesion["AccountId"] == "") )
    {
      //open session logs
      FileHandle file = f_open(LOG_PATH + "\sessionlog-" + LOG_FILE_DATE + ".log", 1);
      while (file != NULL)
      {
        
        TString line = f_readline(file);
    
        //look for IP and changereg
        if ( (sfind(line,REMOTE_ADDR) != -1) && (sfind(line,"changereg") != -1) )
        {
          //0000-00-00 00:00 /accountmaint/changereg/?AccountId=123456 255.255.255.255 ...
          //                                                    *
          AccountId = substr(line, 52, 6);
        }
    
        if (f_EOF(file)) { f_close(file); file = NULL; }
      }
    
    }

    У чувака где то перетирается AccountId, так он берет данные из логов IIS'а :) Главное, что он сожалеет об этом.
    Отсюда: http://thedailywtf.com/Articles/The_Apologetic_Coder.aspx

    guest, 18 Декабря 2008

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

    −156.8

    1. 1
    2. 2
    3. 3
    4. 4
    Почему нет раздела по 1С? )))
    Почему нет раздела по 1С? )))
    Почему нет раздела по 1С? )))
    Почему нет раздела по 1С? )))

    Почему нет раздела по 1С? )))

    guest, 18 Декабря 2008

    Комментарии (21)
  7. C++ / Говнокод #213

    −27.3

    1. 1
    2. 2
    3. 3
    cout<<"enterX"<<endl;
         cin >>x;
    x = 0.125;

    guest, 18 Декабря 2008

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

    +1429.9

    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
    bool IsBukva(char symbol)
    {
    switch(symbol)
    {
    case'a':return 1;break;
    case'b':return 1;break;
    case'c':return 1;break;
    case'd':return 1;break;
    case'e':return 1;break;
    case'f':return 1;break;
    case'g':return 1;break;
    case'h':return 1;break;
    case'i':return 1;break;
    case'j':return 1;break;
    case'k':return 1;break;
    case'l':return 1;break;
    case'm':return 1;break;
    case'n':return 1;break;
    case'o':return 1;break;
    case'p':return 1;break;
    case'q':return 1;break;
    case'r':return 1;break;
    case's':return 1;break;
    case't':return 1;break;
    case'u':return 1;break;
    case'v':return 1;break;
    case'w':return 1;break;
    case'x':return 1;break;
    case'y':return 1;break;
    case'z':return 1;break;
    case'A':return 1;break;
    case'B':return 1;break;
    case'C':return 1;break;
    case'D':return 1;break;
    case'E':return 1;break;
    case'F':return 1;break;
    case'G':return 1;break;
    case'H':return 1;break;
    case'I':return 1;break;
    case'J':return 1;break;
    case'K':return 1;break;
    case'L':return 1;break;
    case'M':return 1;break;
    case'N':return 1;break;
    case'O':return 1;break;
    case'P':return 1;break;
    case'Q':return 1;break;
    case'R':return 1;break;
    case'S':return 1;break;
    case'T':return 1;break;
    case'U':return 1;break;
    case'V':return 1;break;
    case'W':return 1;break;
    case'X':return 1;break;
    case'Y':return 1;break;
    case'Z':return 1;break;
    default:return 0;
    }
    }

    Женский вариант проверки символа на букву.
    Оригинал тут: http://forum.vingrad.ru/forum/topic-240593.html

    guest, 17 Декабря 2008

    Комментарии (211)
  9. PHP / Говнокод #208

    +25.9

    1. 1
    2. 2
    3. 3
    $temp = $this->template($this->modulePath."/right_frame");
    eval("\$blockData = \"$temp\";");
    return $blockData;

    Реализация механизма подключения шаблонов в PHP %)

    guest, 17 Декабря 2008

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

    −43

    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
    if(isRegKeyRequired) {
                keyItems = new XItem [4];
                valueItems = new XItem [4][];
                totalItems = 4;
    
                keyItems[0] = new XItem();
                keyItems[0].setLabel(TextUtils.getText(280),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(countryBox_rp);
                totalItems += setValues(valueItems, values,0);
                keyItems[1] = new XItem();
                keyItems[1].setLabel(TextUtils.getText(281),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(phoneNoBox_rp);
                totalItems += setValues(valueItems, values,1);
                keyItems[2] = new XItem();
                keyItems[2].setLabel(TextUtils.getText(282),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(regKeyBox_rp);
                totalItems += setValues(valueItems, values,2);
                keyItems[3] = new XItem();
                keyItems[3].setLabel(TextUtils.getText(283),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(emailBox_rp);
                totalItems += setValues(valueItems, values,3);
            }
            else {
                keyItems = new XItem [3];
                valueItems = new XItem [3][];
                totalItems = 3;
    
                keyItems[0] = new XItem();
                keyItems[0].setLabel(TextUtils.getText(280),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(countryBox_rp);
                totalItems += setValues(valueItems, values,0);
                keyItems[1] = new XItem();
                keyItems[1].setLabel(TextUtils.getText(281),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(phoneNoBox_rp);
                totalItems += setValues(valueItems, values,1);
                keyItems[2] = new XItem();
                keyItems[2].setLabel(TextUtils.getText(283),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(emailBox_rp);
                totalItems += setValues(valueItems, values,2);
            }

    очень трудолюбивые эти индусы. Такой код - это просто пипец особенно если учесть что приложение разрабатывается для J2ME

    guest, 16 Декабря 2008

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